Compare commits

...

12 Commits

Author SHA1 Message Date
Andreas Eversberg f906fcc708 Improved documents and layout for SIM and magnetic cards 2022-07-23 08:26:57 +02:00
Andreas Eversberg 89e3b89758 C-Netz: Improved RX speech quality and decoder debugging 2022-07-23 08:26:53 +02:00
Andreas Eversberg 059d4f25b1 FuVst: Removed unused scrambler dependency 2022-07-23 08:26:49 +02:00
Andreas Eversberg 8fd8205a6e C-Netz: Changed voice diversion back to 2.4 KHz
Most phones use this deviation. C5 does not for some unknown reason.
2022-07-23 08:26:48 +02:00
Andreas Eversberg b94443e57a Osmo-CC: Minor 'cause conversion' fix 2022-07-23 08:26:45 +02:00
Andreas Eversberg a34ffda422 Osmo-CC: Fixed routing in screen tables 2022-07-23 08:26:44 +02:00
Andreas Eversberg 5335795759 JTACS: Fixed channel allocation, but have no hardware to verify 2022-07-23 08:26:42 +02:00
Andreas Eversberg c6149ed3b4 NMT: Fixes to 'additional info' and added clock (time) support
- untested -
2022-07-23 08:26:30 +02:00
Andreas Eversberg f901eedd8e Osmo-CC: Fixed simple routing using screen option 2022-06-25 14:27:21 +02:00
Andreas Eversberg 5335a77e48 Osmo-CC: Option to remove remote peer, if given by application 2022-06-25 14:26:24 +02:00
Andreas Eversberg 334ead6908 Osmo-CC: Option to override interface name given by application 2022-06-25 14:23:16 +02:00
Andreas Eversberg c3f29a3302 Osmo-CC: Minor compiler warning fix 2022-06-25 14:22:04 +02:00
38 changed files with 18240 additions and 80 deletions

View File

@ -54,7 +54,7 @@ A caller must not know the location of the phone anymore to reach the right base
<li>Channel spacing: 10 KHz and optionally 12.5 KHz
<li>Voice modulation: FM
<li>Signaling modulation: carrier FSK
<li>Frequency deviation: 2.5 KHz (FSK); 4 KHz (Voice)
<li>Frequency deviation: 2.5 KHz (FSK); 2.4 or 4 KHz (Voice)
<li>Mobile station transmit power: 50 mW up to 15 Watts
<li>Base station transmit power: 25 Watts
<li>Features: Speech Compandor, Audio scrambling

BIN
docs/mag5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View File

@ -158,6 +158,12 @@ Be sure to print it without scaling!
<center><img src="mag1.jpg"/></center>
<p>
Also there is a KiCad version with the coil on PCB and space for battery holder:
</p>
<center><img src="mag5.jpg"/></center>
<p>
Leave the fuses of the ATTINY85 as it is shipped by default.
The fuses are set to use the internal 8 MHz clock with scaling to 1 MHz.
@ -283,6 +289,8 @@ The Security code must be a 16 bit unsigned integer, entered in decimal notation
BSA 44 Service Cards
</p>
<center><img src="mag3.jpg"/></center>
<p>
When inserting (simulating) a service card, a BSA44 phone will show "Wartungskarte" on its LC display.
Turn off the phone and then turn it on again, but leave card inserted and power connected.

View File

@ -293,7 +293,7 @@ Build Your Own SIM Card
You find the PCB drawings inside the "layout" directory of the git repository.
Be sure to print it without scaling!
Check if the printed size matches an ISO card.
Also there is the source files for the 'Eagle' layout program, if you like to change it.
Also there are the source files for the 'Eagle' and 'KiCad' layout programs.
</p>
<p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -0,0 +1,87 @@
(module LOGO (layer F.Cu)
(at 0 0)
(fp_text reference "G***" (at 0 0) (layer F.SilkS) hide
(effects (font (thickness 0.3)))
)
(fp_text value "LOGO" (at 0.75 0) (layer F.SilkS) hide
(effects (font (thickness 0.3)))
)
(fp_poly (pts (xy 3.066152 -6.121191) (xy 3.428893 -6.120766) (xy 3.752319 -6.119859) (xy 4.038875 -6.118399) (xy 4.291009 -6.116313) (xy 4.511168 -6.113530) (xy 4.701799 -6.109980) (xy 4.865348 -6.105590)
(xy 5.004263 -6.100290) (xy 5.120991 -6.094008) (xy 5.217978 -6.086672) (xy 5.297671 -6.078211) (xy 5.362518 -6.068554) (xy 5.414965 -6.057629) (xy 5.457458 -6.045365) (xy 5.492446 -6.031691)
(xy 5.522375 -6.016535) (xy 5.549692 -5.999825) (xy 5.576844 -5.981491) (xy 5.606277 -5.961461) (xy 5.621560 -5.951464) (xy 5.802237 -5.806446) (xy 5.943182 -5.626144) (xy 6.008480 -5.504621)
(xy 6.081889 -5.348111) (xy 6.081889 5.065889) (xy 6.008480 5.222399) (xy 5.886481 5.426964) (xy 5.729099 5.591065) (xy 5.622219 5.668819) (xy 5.590776 5.689726) (xy 5.562762 5.708887)
(xy 5.535715 5.726375) (xy 5.507170 5.742266) (xy 5.474661 5.756634) (xy 5.435724 5.769553) (xy 5.387896 5.781099) (xy 5.328710 5.791346) (xy 5.255703 5.800368) (xy 5.166409 5.808240)
(xy 5.058365 5.815037) (xy 4.929106 5.820832) (xy 4.776167 5.825702) (xy 4.597084 5.829720) (xy 4.389392 5.832960) (xy 4.150626 5.835498) (xy 3.878322 5.837408) (xy 3.570016 5.838765)
(xy 3.223242 5.839643) (xy 2.835536 5.840116) (xy 2.404434 5.840260) (xy 1.927471 5.840149) (xy 1.402182 5.839857) (xy 0.826103 5.839459) (xy 0.196769 5.839030) (xy 0.001126 5.838908)
(xy -0.535567 5.838462) (xy -1.058045 5.837786) (xy -1.563427 5.836894) (xy -2.048833 5.835799) (xy -2.511382 5.834517) (xy -2.948193 5.833062) (xy -3.356385 5.831447) (xy -3.733077 5.829687)
(xy -4.075389 5.827796) (xy -4.380439 5.825788) (xy -4.645347 5.823678) (xy -4.867232 5.821480) (xy -5.043214 5.819207) (xy -5.170410 5.816875) (xy -5.245941 5.814497) (xy -5.266077 5.812913)
(xy -5.491258 5.740750) (xy -5.690423 5.620986) (xy -5.856268 5.458485) (xy -5.911083 5.383451) (xy -5.933608 5.350592) (xy -5.954232 5.321477) (xy -5.973038 5.293611) (xy -5.990111 5.264501)
(xy -6.005534 5.231654) (xy -6.019391 5.192575) (xy -6.031764 5.144771) (xy -6.042737 5.085749) (xy -6.052394 5.013016) (xy -6.060819 4.924076) (xy -6.068093 4.816438) (xy -6.074302 4.687607)
(xy -6.079529 4.535089) (xy -6.083857 4.356392) (xy -6.087369 4.149022) (xy -6.090149 3.910484) (xy -6.092281 3.638287) (xy -6.093847 3.329935) (xy -6.094932 2.982935) (xy -6.095619 2.594794)
(xy -6.095991 2.163018) (xy -6.096131 1.685114) (xy -6.096124 1.158588) (xy -6.096053 0.580947) (xy -6.096001 -0.050304) (xy -6.096000 -0.141111) (xy -6.096043 -0.779900) (xy -6.096116 -1.364739)
(xy -6.096137 -1.898120) (xy -6.096052 -2.256360) (xy -5.814193 -2.256360) (xy -5.814125 -1.757197) (xy -5.813966 -1.208271) (xy -5.813819 -0.607124) (xy -5.813777 -0.141111) (xy -5.813854 0.499116)
(xy -5.814015 1.085355) (xy -5.814159 1.620064) (xy -5.814184 2.105699) (xy -5.813989 2.544718) (xy -5.813470 2.939576) (xy -5.812526 3.292731) (xy -5.811055 3.606639) (xy -5.808956 3.883758)
(xy -5.806125 4.126544) (xy -5.802462 4.337453) (xy -5.797865 4.518944) (xy -5.792230 4.673472) (xy -5.785457 4.803495) (xy -5.777444 4.911469) (xy -5.768088 4.999850) (xy -5.757287 5.071097)
(xy -5.744940 5.127665) (xy -5.730944 5.172012) (xy -5.715199 5.206594) (xy -5.697600 5.233868) (xy -5.678048 5.256290) (xy -5.656439 5.276319) (xy -5.632672 5.296410) (xy -5.606645 5.319020)
(xy -5.586384 5.338304) (xy -5.561771 5.364561) (xy -5.541081 5.388626) (xy -5.521883 5.410597) (xy -5.501747 5.430569) (xy -5.478242 5.448637) (xy -5.448937 5.464897) (xy -5.411403 5.479446)
(xy -5.363209 5.492377) (xy -5.301924 5.503789) (xy -5.225118 5.513775) (xy -5.130361 5.522432) (xy -5.015222 5.529855) (xy -4.877271 5.536141) (xy -4.714078 5.541384) (xy -4.523212 5.545681)
(xy -4.302242 5.549127) (xy -4.048739 5.551819) (xy -3.760271 5.553851) (xy -3.434409 5.555319) (xy -3.068722 5.556320) (xy -2.660779 5.556948) (xy -2.208151 5.557300) (xy -1.708406 5.557471)
(xy -1.159115 5.557557) (xy -0.557847 5.557654) (xy -0.012178 5.557812) (xy 0.631245 5.558012) (xy 1.220601 5.558088) (xy 1.758268 5.558023) (xy 2.246624 5.557799) (xy 2.688045 5.557398)
(xy 3.084909 5.556803) (xy 3.439595 5.555995) (xy 3.754479 5.554958) (xy 4.031940 5.553673) (xy 4.274354 5.552123) (xy 4.484100 5.550290) (xy 4.663554 5.548156) (xy 4.815095 5.545704)
(xy 4.941100 5.542915) (xy 5.043947 5.539772) (xy 5.126012 5.536258) (xy 5.189674 5.532355) (xy 5.237311 5.528044) (xy 5.271300 5.523308) (xy 5.293600 5.518255) (xy 5.468036 5.437528)
(xy 5.619157 5.309399) (xy 5.722084 5.169645) (xy 5.799667 5.037667) (xy 5.799667 -5.319888) (xy 5.722084 -5.451866) (xy 5.654063 -5.548879) (xy 5.572372 -5.640625) (xy 5.538639 -5.671399)
(xy 5.514868 -5.692021) (xy 5.493943 -5.710917) (xy 5.473421 -5.728161) (xy 5.450859 -5.743829) (xy 5.423815 -5.757996) (xy 5.389844 -5.770737) (xy 5.346504 -5.782127) (xy 5.291352 -5.792243)
(xy 5.221946 -5.801158) (xy 5.135842 -5.808948) (xy 5.030596 -5.815689) (xy 4.903768 -5.821456) (xy 4.752912 -5.826324) (xy 4.575587 -5.830368) (xy 4.369349 -5.833663) (xy 4.131755 -5.836285)
(xy 3.860363 -5.838309) (xy 3.552729 -5.839811) (xy 3.206411 -5.840864) (xy 2.818965 -5.841546) (xy 2.387948 -5.841930) (xy 1.910918 -5.842093) (xy 1.385432 -5.842109) (xy 0.809046 -5.842054)
(xy 0.179318 -5.842003) (xy 0.000000 -5.842000) (xy -0.647201 -5.842068) (xy -1.240388 -5.842208) (xy -1.781990 -5.842324) (xy -2.274439 -5.842319) (xy -2.720163 -5.842096) (xy -3.121593 -5.841560)
(xy -3.481159 -5.840613) (xy -3.801291 -5.839160) (xy -4.084419 -5.837103) (xy -4.332972 -5.834346) (xy -4.549381 -5.830793) (xy -4.736077 -5.826347) (xy -4.895488 -5.820912) (xy -5.030045 -5.814390)
(xy -5.142178 -5.806687) (xy -5.234316 -5.797705) (xy -5.308891 -5.787347) (xy -5.368331 -5.775518) (xy -5.415068 -5.762121) (xy -5.451530 -5.747058) (xy -5.480148 -5.730235) (xy -5.503352 -5.711554)
(xy -5.523572 -5.690918) (xy -5.543238 -5.668232) (xy -5.564779 -5.643398) (xy -5.586748 -5.620162) (xy -5.614426 -5.594245) (xy -5.639774 -5.572614) (xy -5.662894 -5.552810) (xy -5.683888 -5.532378)
(xy -5.702857 -5.508859) (xy -5.719902 -5.479799) (xy -5.735127 -5.442739) (xy -5.748633 -5.395223) (xy -5.760521 -5.334795) (xy -5.770893 -5.258997) (xy -5.779852 -5.165373) (xy -5.787498 -5.051467)
(xy -5.793934 -4.914820) (xy -5.799262 -4.752978) (xy -5.803583 -4.563482) (xy -5.806999 -4.343877) (xy -5.809612 -4.091705) (xy -5.811524 -3.804509) (xy -5.812836 -3.479834) (xy -5.813650 -3.115222)
(xy -5.814069 -2.708216) (xy -5.814193 -2.256360) (xy -6.096052 -2.256360) (xy -6.096021 -2.382538) (xy -6.095685 -2.820485) (xy -6.095047 -3.214456) (xy -6.094021 -3.566944) (xy -6.092526 -3.880442)
(xy -6.090477 -4.157444) (xy -6.087792 -4.400443) (xy -6.084386 -4.611933) (xy -6.080176 -4.794408) (xy -6.075080 -4.950361) (xy -6.069013 -5.082285) (xy -6.061892 -5.192675) (xy -6.053634 -5.284023)
(xy -6.044156 -5.358823) (xy -6.033373 -5.419569) (xy -6.021202 -5.468754) (xy -6.007561 -5.508872) (xy -5.992366 -5.542416) (xy -5.975533 -5.571880) (xy -5.956978 -5.599757) (xy -5.936619 -5.628541)
(xy -5.914372 -5.660725) (xy -5.911207 -5.665485) (xy -5.776472 -5.825354) (xy -5.604536 -5.962390) (xy -5.418666 -6.059831) (xy -5.400964 -6.065986) (xy -5.378659 -6.071628) (xy -5.349305 -6.076783)
(xy -5.310456 -6.081478) (xy -5.259665 -6.085739) (xy -5.194485 -6.089592) (xy -5.112469 -6.093065) (xy -5.011172 -6.096183) (xy -4.888146 -6.098973) (xy -4.740946 -6.101462) (xy -4.567124 -6.103675)
(xy -4.364234 -6.105640) (xy -4.129829 -6.107382) (xy -3.861462 -6.108929) (xy -3.556688 -6.110306) (xy -3.213060 -6.111541) (xy -2.828131 -6.112659) (xy -2.399454 -6.113686) (xy -1.924583 -6.114651)
(xy -1.401071 -6.115578) (xy -0.826472 -6.116494) (xy -0.198339 -6.117426) (xy -0.072960 -6.117607) (xy 0.577063 -6.118577) (xy 1.173088 -6.119493) (xy 1.717563 -6.120284) (xy 2.212933 -6.120878)
(xy 2.661648 -6.121204) (xy 3.066152 -6.121191) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 0.388056 -5.224861) (xy 0.926284 -5.151909) (xy 1.442169 -5.030009) (xy 1.931989 -4.860185) (xy 2.269161 -4.707442) (xy 2.385467 -4.646290) (xy 2.515386 -4.573424) (xy 2.649910 -4.494458)
(xy 2.780026 -4.415003) (xy 2.896725 -4.340672) (xy 2.990997 -4.277077) (xy 3.053830 -4.229830) (xy 3.076223 -4.204760) (xy 3.054679 -4.181883) (xy 2.996572 -4.134523) (xy 2.911693 -4.070406)
(xy 2.843389 -4.020972) (xy 2.588378 -3.819391) (xy 2.327603 -3.576761) (xy 2.072524 -3.305783) (xy 1.834598 -3.019161) (xy 1.625286 -2.729598) (xy 1.505020 -2.537285) (xy 1.380316 -2.322904)
(xy 1.142496 -2.442260) (xy 0.832858 -2.574342) (xy 0.519563 -2.658740) (xy 0.184960 -2.699984) (xy 0.127000 -2.702934) (xy -0.253898 -2.695011) (xy -0.612890 -2.637152) (xy -0.957530 -2.527568)
(xy -1.290385 -2.367282) (xy -1.454436 -2.258755) (xy -1.632699 -2.113583) (xy -1.812300 -1.944640) (xy -1.980365 -1.764801) (xy -2.124018 -1.586940) (xy -2.226171 -1.431496) (xy -2.390141 -1.085856)
(xy -2.501199 -0.729720) (xy -2.559954 -0.368118) (xy -2.567011 -0.006082) (xy -2.522977 0.351358) (xy -2.428460 0.699171) (xy -2.284065 1.032326) (xy -2.090401 1.345792) (xy -1.857529 1.624740)
(xy -1.581126 1.879192) (xy -1.286102 2.083481) (xy -0.963395 2.243070) (xy -0.657253 2.348609) (xy -0.558411 2.374336) (xy -0.462583 2.392205) (xy -0.355847 2.403564) (xy -0.224279 2.409764)
(xy -0.053956 2.412154) (xy 0.000000 2.412321) (xy 0.240604 2.407938) (xy 0.442234 2.391658) (xy 0.621727 2.360022) (xy 0.795921 2.309569) (xy 0.981650 2.236841) (xy 1.089842 2.188395)
(xy 1.296608 2.092863) (xy 1.385999 2.252932) (xy 1.674923 2.720001) (xy 1.994558 3.141962) (xy 2.343638 3.517301) (xy 2.702425 3.830121) (xy 2.796896 3.907276) (xy 2.869966 3.973160)
(xy 2.913014 4.019593) (xy 2.920358 4.036818) (xy 2.890949 4.061096) (xy 2.824331 4.106288) (xy 2.731997 4.164778) (xy 2.673266 4.200547) (xy 2.185366 4.462492) (xy 1.685599 4.669552)
(xy 1.174901 4.821510) (xy 0.654210 4.918150) (xy 0.124462 4.959255) (xy -0.413406 4.944609) (xy -0.507003 4.936422) (xy -1.021420 4.859022) (xy -1.521966 4.728701) (xy -2.004900 4.548065)
(xy -2.466482 4.319721) (xy -2.902970 4.046276) (xy -3.310625 3.730336) (xy -3.685705 3.374508) (xy -4.024470 2.981398) (xy -4.323179 2.553614) (xy -4.573789 2.102556) (xy -4.783501 1.612640)
(xy -4.939426 1.111284) (xy -5.042121 0.602317) (xy -5.092138 0.089570) (xy -5.090033 -0.423127) (xy -5.036358 -0.931945) (xy -4.931668 -1.433053) (xy -4.776518 -1.922622) (xy -4.571461 -2.396821)
(xy -4.317052 -2.851821) (xy -4.013845 -3.283791) (xy -3.749271 -3.596340) (xy -3.382862 -3.955827) (xy -2.981063 -4.275414) (xy -2.549031 -4.553070) (xy -2.091924 -4.786766) (xy -1.614902 -4.974470)
(xy -1.123122 -5.114152) (xy -0.621743 -5.203781) (xy -0.115923 -5.241328) (xy 0.388056 -5.224861) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 3.871625 -3.467031) (xy 3.936780 -3.388271) (xy 4.011992 -3.292079) (xy 4.090056 -3.188391) (xy 4.163767 -3.087143) (xy 4.225919 -2.998272) (xy 4.269307 -2.931714) (xy 4.286725 -2.897407)
(xy 4.286321 -2.895141) (xy 4.256882 -2.877822) (xy 4.194588 -2.844925) (xy 4.158744 -2.826659) (xy 3.950167 -2.701112) (xy 3.732023 -2.533119) (xy 3.515113 -2.332872) (xy 3.310237 -2.110568)
(xy 3.128198 -1.876398) (xy 3.084732 -1.813015) (xy 2.876739 -1.451909) (xy 2.720513 -1.075306) (xy 2.615119 -0.687924) (xy 2.559623 -0.294477) (xy 2.553090 0.100317) (xy 2.594586 0.491743)
(xy 2.683176 0.875084) (xy 2.817926 1.245625) (xy 2.997901 1.598649) (xy 3.222167 1.929440) (xy 3.489789 2.233281) (xy 3.799833 2.505457) (xy 3.963878 2.623760) (xy 4.057511 2.688520)
(xy 4.130173 2.741777) (xy 4.171370 2.775690) (xy 4.176889 2.782893) (xy 4.159358 2.818264) (xy 4.112213 2.884836) (xy 4.043629 2.972966) (xy 3.961777 3.073010) (xy 3.874832 3.175325)
(xy 3.790967 3.270269) (xy 3.718356 3.348198) (xy 3.665171 3.399470) (xy 3.641219 3.414889) (xy 3.607900 3.400100) (xy 3.542981 3.361487) (xy 3.467445 3.312042) (xy 3.101674 3.029765)
(xy 2.770771 2.705500) (xy 2.477816 2.343901) (xy 2.225892 1.949622) (xy 2.018078 1.527317) (xy 1.857455 1.081641) (xy 1.773671 0.753207) (xy 1.740101 0.543137) (xy 1.718323 0.295285)
(xy 1.708507 0.027101) (xy 1.710821 -0.243961) (xy 1.725435 -0.500449) (xy 1.752517 -0.724913) (xy 1.758994 -0.762000) (xy 1.856772 -1.162283) (xy 1.999581 -1.564167) (xy 2.180636 -1.952063)
(xy 2.393154 -2.310382) (xy 2.496438 -2.456741) (xy 2.663059 -2.660010) (xy 2.863628 -2.872909) (xy 3.082493 -3.080547) (xy 3.304004 -3.268031) (xy 3.501693 -3.413279) (xy 3.765487 -3.589728)
(xy 3.871625 -3.467031) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 4.708743 -2.093743) (xy 4.715703 -2.086271) (xy 4.732652 -2.047799) (xy 4.761169 -1.970683) (xy 4.797375 -1.866741) (xy 4.837394 -1.747787) (xy 4.877349 -1.625636) (xy 4.913364 -1.512106)
(xy 4.941562 -1.419010) (xy 4.958066 -1.358165) (xy 4.960324 -1.340693) (xy 4.934857 -1.323406) (xy 4.877100 -1.284341) (xy 4.826000 -1.249815) (xy 4.607190 -1.069768) (xy 4.431450 -0.857898)
(xy 4.300458 -0.620760) (xy 4.215893 -0.364908) (xy 4.179433 -0.096895) (xy 4.192756 0.176724) (xy 4.257542 0.449397) (xy 4.340061 0.647631) (xy 4.405102 0.752448) (xy 4.500803 0.875917)
(xy 4.613103 1.002252) (xy 4.727941 1.115669) (xy 4.831254 1.200380) (xy 4.834353 1.202538) (xy 4.913261 1.257086) (xy 4.810446 1.552466) (xy 4.751037 1.717503) (xy 4.699070 1.850800)
(xy 4.657218 1.946047) (xy 4.628156 1.996937) (xy 4.619134 2.003778) (xy 4.593095 1.989948) (xy 4.533783 1.954143) (xy 4.473461 1.916380) (xy 4.335424 1.815149) (xy 4.183457 1.681269)
(xy 4.033324 1.530091) (xy 3.900793 1.376964) (xy 3.848574 1.307997) (xy 3.668412 1.009181) (xy 3.537673 0.689345) (xy 3.456452 0.354911) (xy 3.424846 0.012297) (xy 3.442951 -0.332076)
(xy 3.510863 -0.671788) (xy 3.628678 -1.000421) (xy 3.796493 -1.311553) (xy 3.809056 -1.330900) (xy 3.897570 -1.452007) (xy 4.004725 -1.577172) (xy 4.123758 -1.700762) (xy 4.247908 -1.817143)
(xy 4.370412 -1.920682) (xy 4.484510 -2.005745) (xy 4.583439 -2.066698) (xy 4.660437 -2.097909) (xy 4.708743 -2.093743) )(layer F.SilkS) (width 0.010000)
)
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": false,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "magnetkarte.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,440 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": true,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": true,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": true,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.01,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_paste_clearance": 0.0,
"solder_paste_margin_ratio": -0.0,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0,
0.25,
0.4,
0.6
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "magnetkarte.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.25,
"pin_symbol_size": 0.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "Pcbnew",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"b78e3980-fa91-4747-8504-806b364bf4af",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": false,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "simkarte.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,436 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.024999999999999998,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0,
0.25,
0.4
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "simkarte.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.25,
"pin_symbol_size": 0.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "Pcbnew",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"d4e970ed-dbe6-470b-b0b4-94ae90c6a705",
""
]
],
"text_variables": {}
}

View File

@ -0,0 +1,971 @@
(kicad_sch (version 20211123) (generator eeschema)
(uuid d4e970ed-dbe6-470b-b0b4-94ae90c6a705)
(paper "A4")
(title_block
(title "C-Netz SIM emulator")
(date "2022-06-01")
(rev "2.0")
(company "Jolly")
)
(lib_symbols
(symbol "simkarte-rescue:+5V-power" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (id 0) (at 0 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V-power" (id 1) (at 0 3.556 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "+5V-power_0_1"
(polyline
(pts
(xy -0.762 1.27)
(xy 0 2.54)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0 0)
(xy 0 2.54)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0 2.54)
(xy 0.762 1.27)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "+5V-power_1_1"
(pin power_in line (at 0 0 90) (length 0) hide
(name "+5V" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "simkarte-rescue:ATtiny85-20PU-MCU_Microchip_ATtiny" (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -12.7 13.97 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "ATtiny85-20PU-MCU_Microchip_ATtiny" (id 1) (at 2.54 -13.97 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(property "Footprint" "Package_DIP:DIP-8_W7.62mm" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27) italic) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "DIP*W7.62mm*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "ATtiny85-20PU-MCU_Microchip_ATtiny_0_1"
(rectangle (start -12.7 -12.7) (end 12.7 12.7)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "ATtiny85-20PU-MCU_Microchip_ATtiny_1_1"
(pin bidirectional line (at 15.24 -5.08 180) (length 2.54)
(name "~{RESET}/PB5" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 15.24 0 180) (length 2.54)
(name "XTAL1/PB3" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 15.24 -2.54 180) (length 2.54)
(name "XTAL2/PB4" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -15.24 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 15.24 7.62 180) (length 2.54)
(name "AREF/PB0" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 15.24 5.08 180) (length 2.54)
(name "PB1" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 15.24 2.54 180) (length 2.54)
(name "PB2" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 15.24 270) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "simkarte-rescue:C-Device" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (id 0) (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C-Device" (id 1) (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0.9652 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "C_*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "C-Device_0_1"
(polyline
(pts
(xy -2.032 -0.762)
(xy 2.032 -0.762)
)
(stroke (width 0.508) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -2.032 0.762)
(xy 2.032 0.762)
)
(stroke (width 0.508) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "C-Device_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "simkarte-rescue:GND-power" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (id 0) (at 0 -6.35 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND-power" (id 1) (at 0 -3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "GND-power_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 -1.27)
(xy 1.27 -1.27)
(xy 0 -2.54)
(xy -1.27 -1.27)
(xy 0 -1.27)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "GND-power_1_1"
(pin power_in line (at 0 0 270) (length 0) hide
(name "GND" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "simkarte-rescue:SIM_Card-Connector" (in_bom yes) (on_board yes)
(property "Reference" "J" (id 0) (at -2.54 12.7 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Value" "SIM_Card-Connector" (id 1) (at -1.27 10.16 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Footprint" "" (id 2) (at 0 8.89 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at -1.27 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "*SIM*Card*Holder*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "SIM_Card-Connector_0_1"
(rectangle (start -1.27 -2.54) (end 2.54 -1.27)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start -1.27 0) (end 2.54 1.27)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start -1.27 2.54) (end 2.54 3.81)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy -10.16 8.89)
(xy 15.24 8.89)
(xy 15.24 -3.81)
(xy 12.7 -6.35)
(xy -10.16 -6.35)
(xy -10.16 8.89)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type background))
)
(rectangle (start 3.81 -1.27) (end 7.62 -2.54)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start 3.81 0) (end 7.62 1.27)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start 3.81 2.54) (end 7.62 3.81)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type outline))
)
)
(symbol "SIM_Card-Connector_1_1"
(pin power_in line (at -12.7 7.62 0) (length 2.54)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 5.08 0) (length 2.54)
(name "RST" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 2.54 0) (length 2.54)
(name "CLK" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -12.7 0 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin input line (at -12.7 -2.54 0) (length 2.54)
(name "VPP" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -12.7 -5.08 0) (length 2.54)
(name "I/O" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "simkarte-rescue:TestPoint-Connector" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes)
(property "Reference" "TP" (id 0) (at 0 6.858 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "TestPoint-Connector" (id 1) (at 0 5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 5.08 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 5.08 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "Pin* Test*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "TestPoint-Connector_0_1"
(circle (center 0 3.302) (radius 0.762)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "TestPoint-Connector_1_1"
(pin passive line (at 0 0 90) (length 2.54)
(name "1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
)
(junction (at 177.8 86.36) (diameter 0) (color 0 0 0 0)
(uuid 0213f72c-b606-4c49-8aae-44df9186a573)
)
(junction (at 191.77 86.36) (diameter 0) (color 0 0 0 0)
(uuid 1ba8712f-d17f-4a2a-b51f-3d2dcf424a2d)
)
(junction (at 189.23 83.82) (diameter 0) (color 0 0 0 0)
(uuid 37089c8d-86d2-42e8-b2a2-0c3dd5ec4411)
)
(junction (at 173.99 81.28) (diameter 0) (color 0 0 0 0)
(uuid 6c4c8252-ec53-4964-9b2a-b33e572943bd)
)
(junction (at 186.69 81.28) (diameter 0) (color 0 0 0 0)
(uuid 7c6ff63b-262f-4aeb-9b4a-2ebe31201002)
)
(no_connect (at 203.2 83.82) (uuid 6de24230-10fc-465c-96c7-58b79a506b38))
(wire (pts (xy 162.56 73.66) (xy 162.56 64.77))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 1ca9e95b-7fd2-481d-ad19-76e70b9f3986)
)
(wire (pts (xy 144.78 64.77) (xy 144.78 66.04))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 21750016-ae15-4de2-9bee-5698c24f7e14)
)
(wire (pts (xy 189.23 83.82) (xy 189.23 130.81))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 25008a08-d0f1-49f4-ba28-2caf9a83eccf)
)
(wire (pts (xy 160.02 78.74) (xy 170.18 78.74))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 2fdbc8d1-417b-4d40-952b-d713d47674a6)
)
(wire (pts (xy 186.69 81.28) (xy 186.69 128.27))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 3fee399f-bbaf-48fa-ae76-bab564a8ab7b)
)
(wire (pts (xy 144.78 111.76) (xy 144.78 113.03))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 401126ca-fb46-4011-9803-4ca48fe73988)
)
(wire (pts (xy 191.77 76.2) (xy 203.2 76.2))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 428756e5-5512-4926-ac46-f276a63efc3c)
)
(wire (pts (xy 186.69 78.74) (xy 186.69 81.28))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 430c0b28-1db8-450e-8590-1fee1dec3c58)
)
(wire (pts (xy 203.2 73.66) (xy 199.39 73.66))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 4c57d7cd-568e-421c-9d27-d3036ad24b77)
)
(wire (pts (xy 166.37 76.2) (xy 166.37 64.77))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5d0dd5e2-6f9b-477f-8520-66cd12d1f4c3)
)
(wire (pts (xy 160.02 76.2) (xy 166.37 76.2))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5f46f4d2-080a-432a-becd-cc439a5772bc)
)
(wire (pts (xy 195.58 86.36) (xy 203.2 86.36))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 642bd2d7-ad97-4a1c-8745-9b932ede5c30)
)
(wire (pts (xy 160.02 73.66) (xy 162.56 73.66))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 6ad91f56-b786-4385-a5e5-3faff3ff26dc)
)
(wire (pts (xy 191.77 86.36) (xy 191.77 76.2))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 6c7e23cc-4ce3-4a8b-9a4e-f542ce80d303)
)
(wire (pts (xy 160.02 128.27) (xy 186.69 128.27))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 7f8b149d-2a54-4f72-b96b-48619850d2c5)
)
(wire (pts (xy 199.39 67.31) (xy 199.39 73.66))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 891689ad-69cd-4ba7-8d67-e7e48dd13857)
)
(wire (pts (xy 160.02 133.35) (xy 191.77 133.35))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 90fe1cee-371d-423a-b386-f0500f3e1a75)
)
(wire (pts (xy 173.99 81.28) (xy 186.69 81.28))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 9578f93c-b764-4c4c-8e1b-c85defdca9b3)
)
(wire (pts (xy 189.23 83.82) (xy 195.58 83.82))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 9c520ac1-a5f5-4d99-99ea-27ed15c702b6)
)
(wire (pts (xy 177.8 86.36) (xy 191.77 86.36))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid a3f1c8ec-32b1-4f62-b293-446e0707b9de)
)
(wire (pts (xy 191.77 86.36) (xy 191.77 133.35))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ac53ff68-a491-47f9-8671-1766a824b1a5)
)
(wire (pts (xy 160.02 86.36) (xy 177.8 86.36))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ad8c6627-0e88-4072-9454-389c9bd901da)
)
(wire (pts (xy 144.78 96.52) (xy 144.78 97.79))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b1524c7b-ecbd-4d7e-b671-82df3b14c660)
)
(wire (pts (xy 203.2 81.28) (xy 199.39 81.28))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b256ac16-9a3c-4ac6-a45a-7920f2ec5ffc)
)
(wire (pts (xy 177.8 86.36) (xy 177.8 64.77))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b371733c-7da1-4001-bbbe-dccb434c03b9)
)
(wire (pts (xy 144.78 143.51) (xy 144.78 144.78))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b3b5c84f-bbb9-42c9-8bf0-31b7d2444e27)
)
(wire (pts (xy 160.02 130.81) (xy 189.23 130.81))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid bfd2e948-261f-4e53-9b7a-604f21643986)
)
(wire (pts (xy 160.02 83.82) (xy 189.23 83.82))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid c3853760-c969-4547-8ac8-3e504a2bcc86)
)
(wire (pts (xy 173.99 81.28) (xy 173.99 64.77))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid d1828b43-5384-42a0-881b-626d6968853c)
)
(wire (pts (xy 199.39 81.28) (xy 199.39 90.17))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid d2de8dc8-5cce-41de-bec1-25484f79a759)
)
(wire (pts (xy 203.2 78.74) (xy 186.69 78.74))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e0cb5f15-6493-4084-b479-4f07fb34a4bc)
)
(wire (pts (xy 195.58 83.82) (xy 195.58 86.36))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e2b623b8-50d2-4ce2-aa0a-9412af3ddb1e)
)
(wire (pts (xy 170.18 78.74) (xy 170.18 64.77))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e93fb5e9-85ac-44b2-9632-258c670e82bf)
)
(wire (pts (xy 160.02 81.28) (xy 173.99 81.28))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid fe12bf41-3116-43a1-863f-9ff5f1a09778)
)
(symbol (lib_id "simkarte-rescue:ATtiny85-20PU-MCU_Microchip_ATtiny") (at 144.78 128.27 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-00006295f4a3)
(property "Reference" "U2" (id 0) (at 131.3434 127.1016 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Value" "ATtiny85-20PU" (id 1) (at 131.3434 129.413 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Footprint" "Package_DIP:DIP-8_W7.62mm_Socket" (id 2) (at 144.78 128.27 0)
(effects (font (size 1.27 1.27) italic) hide)
)
(property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf" (id 3) (at 144.78 128.27 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 8e2dabad-9a10-4125-9d8d-27bf6b0389ef))
(pin "2" (uuid 1727d502-6216-45a9-bb16-74e29a2ae2d7))
(pin "3" (uuid 2ddb2a87-fc97-4039-b5dd-06ceee3ed8d6))
(pin "4" (uuid ac926d2e-6050-4409-9658-41f53286570a))
(pin "5" (uuid 03c65808-78aa-4b22-adfd-a123b7d83b78))
(pin "6" (uuid 77d8e703-06dc-4074-8b08-1055c8027a08))
(pin "7" (uuid 697e8ed2-ea26-479e-be27-923bf4f4e8f8))
(pin "8" (uuid d150b969-5039-4074-b80d-e35c52fe4cdd))
)
(symbol (lib_id "simkarte-rescue:SIM_Card-Connector") (at 215.9 81.28 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062962ff5)
(property "Reference" "J1" (id 0) (at 231.902 78.74 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "SIM_Card" (id 1) (at 231.902 81.0514 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:SIM-Pads" (id 2) (at 215.9 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" " ~" (id 3) (at 214.63 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 7521af63-5a4d-422f-b685-e39f558daaa7))
(pin "2" (uuid 3729cdf0-8e63-4b74-b11e-8d728c29f7e3))
(pin "3" (uuid f4f5f0d3-8ac6-46e0-ab48-b5b1edf2425d))
(pin "5" (uuid 7c26b42a-a82d-48b6-a692-ee134dd75912))
(pin "6" (uuid c27098e6-8fd5-487b-b196-8068726fa07d))
(pin "7" (uuid 90f47110-5cf7-474b-a52e-b39ffa4315a0))
)
(symbol (lib_id "simkarte-rescue:ATtiny85-20PU-MCU_Microchip_ATtiny") (at 144.78 81.28 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062965e5a)
(property "Reference" "U1" (id 0) (at 131.3434 80.1116 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Value" "ATtiny85-20PU" (id 1) (at 131.3434 82.423 0)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Footprint" "simkarte:SO-8_falschrum" (id 2) (at 144.78 81.28 0)
(effects (font (size 1.27 1.27) italic) hide)
)
(property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf" (id 3) (at 144.78 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 5bbf7e12-9bef-41d6-9c5d-047a84de08b8))
(pin "2" (uuid 76fbfe02-65e4-4e6d-986f-abc2675d0b8e))
(pin "3" (uuid 221ee91d-67e6-4162-89ea-62d56fc93eb4))
(pin "4" (uuid 80fd6991-964a-4282-86eb-ff52b782f595))
(pin "5" (uuid 9040948b-f814-445b-8c30-50898a66502a))
(pin "6" (uuid 60beb2d9-9172-41b9-903c-0b3ace9e689d))
(pin "7" (uuid f8e44d96-aa8e-4475-b7ea-c4fa47f61557))
(pin "8" (uuid b768eb5c-3437-4584-9cf1-ab80bea72275))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 144.78 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629723be)
(property "Reference" "#PWR0101" (id 0) (at 144.78 68.58 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 145.161 60.3758 0))
(property "Footprint" "" (id 2) (at 144.78 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 144.78 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 04c8887f-cc7a-4f69-9c30-78a82a4e1909))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 144.78 97.79 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062975e92)
(property "Reference" "#PWR0102" (id 0) (at 144.78 104.14 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 144.907 102.1842 0))
(property "Footprint" "" (id 2) (at 144.78 97.79 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 144.78 97.79 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 6fab2f81-45b7-4865-b934-b207fffd0e9c))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 144.78 111.76 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062980ae9)
(property "Reference" "#PWR0103" (id 0) (at 144.78 115.57 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 145.161 107.3658 0))
(property "Footprint" "" (id 2) (at 144.78 111.76 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 144.78 111.76 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 2e046e09-4195-4aab-939c-a3b33fc909ed))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 144.78 144.78 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062982359)
(property "Reference" "#PWR0104" (id 0) (at 144.78 151.13 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 144.907 149.1742 0))
(property "Footprint" "" (id 2) (at 144.78 144.78 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 144.78 144.78 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid b4478ba2-49d8-400e-9b7d-57f46bf53222))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 199.39 67.31 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629840c4)
(property "Reference" "#PWR0105" (id 0) (at 199.39 71.12 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 199.771 62.9158 0))
(property "Footprint" "" (id 2) (at 199.39 67.31 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 199.39 67.31 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 64ca3dfe-5cc6-4f07-9461-c2e1917c4307))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 199.39 90.17 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-00006298502f)
(property "Reference" "#PWR0106" (id 0) (at 199.39 96.52 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 199.517 94.5642 0))
(property "Footprint" "" (id 2) (at 199.39 90.17 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 199.39 90.17 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 29f9bb16-c801-4521-afa7-35c4dea08470))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 162.56 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-00006298d354)
(property "Reference" "TP3" (id 0) (at 161.29 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "MOSI" (id 1) (at 162.56 59.69 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 167.64 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 167.64 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 179ff5ff-c99d-4da6-b065-9ddb256760a2))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 166.37 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062999b26)
(property "Reference" "TP4" (id 0) (at 165.1 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "MISO" (id 1) (at 166.37 59.69 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 171.45 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 171.45 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid d8131b9b-9726-4412-aa2a-43fd9b6904b7))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 170.18 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-000062999f42)
(property "Reference" "TP5" (id 0) (at 168.91 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "SCK" (id 1) (at 170.18 59.69 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 175.26 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 175.26 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid a81f2875-a26d-42a0-94cd-e0f11fbf57cd))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 173.99 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-00006299a401)
(property "Reference" "TP6" (id 0) (at 172.72 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "CLOCK" (id 1) (at 173.99 59.69 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 179.07 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 179.07 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid bd546aad-69fd-4b43-a752-de058a3582fa))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 177.8 64.77 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-00006299a9bf)
(property "Reference" "TP7" (id 0) (at 176.53 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "RESET" (id 1) (at 177.8 59.69 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 182.88 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 182.88 64.77 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid b5db8ce7-d993-49d5-aad8-79ecc764d3e5))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 92.71 81.28 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629aedec)
(property "Reference" "TP2" (id 0) (at 90.17 81.28 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "GND" (id 1) (at 95.25 81.28 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 97.79 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 97.79 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 5d6450a4-bb6f-49fe-a8f5-b63a0b0992f8))
)
(symbol (lib_id "simkarte-rescue:TestPoint-Connector") (at 92.71 72.39 180) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629b0678)
(property "Reference" "TP1" (id 0) (at 95.25 72.39 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "VCC" (id 1) (at 90.17 66.04 90)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "simkarte:tp_for_sim" (id 2) (at 87.63 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 87.63 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 30111605-e8a6-4fee-bbdb-59c08c4a58e5))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 92.71 72.39 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629b2c49)
(property "Reference" "#PWR0107" (id 0) (at 92.71 76.2 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 93.091 67.9958 0))
(property "Footprint" "" (id 2) (at 92.71 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 92.71 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 287b7a49-bf22-46ec-b2b2-a34e44fd3849))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 92.71 81.28 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629b41df)
(property "Reference" "#PWR0108" (id 0) (at 92.71 87.63 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 92.837 85.6742 0))
(property "Footprint" "" (id 2) (at 92.71 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 92.71 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid e9c3bf75-8662-4297-97eb-f79981ddf278))
)
(symbol (lib_id "simkarte-rescue:C-Device") (at 55.88 76.2 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629ccecf)
(property "Reference" "C1" (id 0) (at 58.801 76.2 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C" (id 1) (at 58.801 77.343 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 56.8452 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 55.88 76.2 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 1fb500b0-4d08-48fc-bdc7-0fbf322d22ad))
(pin "2" (uuid 8495dcac-5f1a-4857-ac53-6d4d9882b7c3))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 55.88 72.39 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629d3939)
(property "Reference" "#PWR0109" (id 0) (at 55.88 76.2 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 56.261 67.9958 0))
(property "Footprint" "" (id 2) (at 55.88 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 55.88 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 979adaec-470a-497d-9fdd-811067d619dd))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 55.88 80.01 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629d9a9d)
(property "Reference" "#PWR0110" (id 0) (at 55.88 86.36 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 56.007 84.4042 0))
(property "Footprint" "" (id 2) (at 55.88 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 55.88 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 8798602f-f8db-4a8d-822b-b26237a20f08))
)
(symbol (lib_id "simkarte-rescue:C-Device") (at 67.31 76.2 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629e1ff2)
(property "Reference" "C2" (id 0) (at 70.231 76.2 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C" (id 1) (at 70.231 77.343 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 68.2752 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 67.31 76.2 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 76a8f682-8b4e-4147-814f-8e7872e91ed4))
(pin "2" (uuid 43f5874e-70f6-47c7-8f49-379fdeda0e7b))
)
(symbol (lib_id "simkarte-rescue:+5V-power") (at 67.31 72.39 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629e1ff8)
(property "Reference" "#PWR0111" (id 0) (at 67.31 76.2 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 67.691 67.9958 0))
(property "Footprint" "" (id 2) (at 67.31 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 67.31 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid de6459ca-0986-46f3-9a3c-67363413bcee))
)
(symbol (lib_id "simkarte-rescue:GND-power") (at 67.31 80.01 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 00000000-0000-0000-0000-0000629e1ffe)
(property "Reference" "#PWR0112" (id 0) (at 67.31 86.36 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 67.437 84.4042 0))
(property "Footprint" "" (id 2) (at 67.31 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 67.31 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 60e38ee3-4854-4d95-9d6f-1a435a99d732))
)
(sheet_instances
(path "/" (page "1"))
)
(symbol_instances
(path "/00000000-0000-0000-0000-0000629723be"
(reference "#PWR0101") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-000062975e92"
(reference "#PWR0102") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-000062980ae9"
(reference "#PWR0103") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-000062982359"
(reference "#PWR0104") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629840c4"
(reference "#PWR0105") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-00006298502f"
(reference "#PWR0106") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629b2c49"
(reference "#PWR0107") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629b41df"
(reference "#PWR0108") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629d3939"
(reference "#PWR0109") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629d9a9d"
(reference "#PWR0110") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629e1ff8"
(reference "#PWR0111") (unit 1) (value "+5V") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629e1ffe"
(reference "#PWR0112") (unit 1) (value "GND") (footprint "")
)
(path "/00000000-0000-0000-0000-0000629ccecf"
(reference "C1") (unit 1) (value "C") (footprint "Capacitor_SMD:C_0603_1608Metric")
)
(path "/00000000-0000-0000-0000-0000629e1ff2"
(reference "C2") (unit 1) (value "C") (footprint "Capacitor_SMD:C_0603_1608Metric")
)
(path "/00000000-0000-0000-0000-000062962ff5"
(reference "J1") (unit 1) (value "SIM_Card") (footprint "simkarte:SIM-Pads")
)
(path "/00000000-0000-0000-0000-0000629b0678"
(reference "TP1") (unit 1) (value "VCC") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-0000629aedec"
(reference "TP2") (unit 1) (value "GND") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-00006298d354"
(reference "TP3") (unit 1) (value "MOSI") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-000062999b26"
(reference "TP4") (unit 1) (value "MISO") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-000062999f42"
(reference "TP5") (unit 1) (value "SCK") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-00006299a401"
(reference "TP6") (unit 1) (value "CLOCK") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-00006299a9bf"
(reference "TP7") (unit 1) (value "RESET") (footprint "simkarte:tp_for_sim")
)
(path "/00000000-0000-0000-0000-000062965e5a"
(reference "U1") (unit 1) (value "ATtiny85-20PU") (footprint "simkarte:SO-8_falschrum")
)
(path "/00000000-0000-0000-0000-00006295f4a3"
(reference "U2") (unit 1) (value "ATtiny85-20PU") (footprint "Package_DIP:DIP-8_W7.62mm_Socket")
)
)
)

View File

@ -0,0 +1,52 @@
(module SIM-Pads (layer F.Cu) (tedit 62963936)
(fp_text reference REF** (at 0 0.5) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SIM-Pads (at 0 -0.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 85.6 3) (end 85.6 50.98) (layer B.SilkS) (width 0.12))
(fp_line (start 82.6 53.98) (end 3 53.98) (layer B.SilkS) (width 0.12))
(fp_line (start 3 0) (end 82.55 0) (layer B.SilkS) (width 0.12))
(fp_line (start 0 50.98) (end 0 3) (layer B.SilkS) (width 0.12))
(fp_line (start 30.957107 29.187107) (end 28.957107 31.187107) (layer B.SilkS) (width 0.12))
(fp_line (start 3 0) (end 82.55 0) (layer F.SilkS) (width 0.12))
(fp_line (start 85.6 3) (end 85.6 50.98) (layer F.SilkS) (width 0.12))
(fp_line (start 82.6 53.98) (end 3 53.98) (layer F.SilkS) (width 0.12))
(fp_line (start 0 50.98) (end 0 3) (layer F.SilkS) (width 0.12))
(fp_line (start 30.957107 29.187107) (end 28.957107 31.187107) (layer F.SilkS) (width 0.12))
(fp_line (start 31.25 28.48) (end 31.25 17.48) (layer F.SilkS) (width 0.12))
(fp_line (start 7.25 16.48) (end 30.25 16.48) (layer F.SilkS) (width 0.12))
(fp_line (start 6.25 30.48) (end 6.25 17.48) (layer F.SilkS) (width 0.12))
(fp_line (start 7.25 31.48) (end 28.25 31.48) (layer F.SilkS) (width 0.12))
(fp_line (start 7.25 16.48) (end 30.25 16.48) (layer B.SilkS) (width 0.12))
(fp_line (start 6.25 30.48) (end 6.25 17.48) (layer B.SilkS) (width 0.12))
(fp_line (start 7.25 31.48) (end 28.25 31.48) (layer B.SilkS) (width 0.12))
(fp_line (start 31.25 28.48) (end 31.25 17.48) (layer B.SilkS) (width 0.12))
(fp_arc (start 82.6 3) (end 82.6 0) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 82.6 50.98) (end 85.6 50.98) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 3 50.98) (end 3 53.98) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 28.25 30.48) (end 28.25 31.48) (angle -45) (layer B.SilkS) (width 0.12))
(fp_arc (start 30.25 28.48) (end 31.25 28.48) (angle 45) (layer B.SilkS) (width 0.12))
(fp_arc (start 30.25 17.48) (end 30.25 16.48) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 3 3) (end 0 3) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 28.25 30.48) (end 28.25 31.48) (angle -45) (layer F.SilkS) (width 0.12))
(fp_arc (start 30.25 28.48) (end 31.25 28.48) (angle 45) (layer F.SilkS) (width 0.12))
(fp_arc (start 30.25 17.48) (end 30.25 16.48) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 7.25 30.48) (end 7.25 31.48) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 7.25 17.48) (end 6.25 17.48) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 82.6 50.98) (end 85.6 50.98) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 82.6 3) (end 82.6 0) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 3 50.98) (end 3 53.98) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 3 3) (end 0 3) (angle 90) (layer F.SilkS) (width 0.12))
(fp_arc (start 7.25 17.48) (end 6.25 17.48) (angle 90) (layer B.SilkS) (width 0.12))
(fp_arc (start 7.25 30.48) (end 7.25 31.48) (angle 90) (layer B.SilkS) (width 0.12))
(pad 8 smd rect (at 18.87 27.7) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 7 smd rect (at 18.87 25.16) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at 18.87 22.62) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 5 smd rect (at 18.87 20.08) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at 11.25 27.7) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at 11.25 25.16) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 11.25 22.62) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
(pad 1 smd rect (at 11.25 20.08) (size 2 1.7) (layers F.Cu F.Paste F.Mask))
)

View File

@ -0,0 +1,50 @@
(footprint "SO-8_falschrum" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 5EA5315B)
(descr "SO, 8 Pin (https://www.ti.com/lit/ml/msop001a/msop001a.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py")
(tags "SO SO")
(attr smd)
(fp_text reference "REF**" (at 0 -4.05) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp e6d2e267-164d-4afc-8b48-cd1aff90b7d4)
)
(fp_text value "SO-8_falschrum" (at 0 4.05) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp c06efada-401e-4dfe-b3d2-3a3e07849a0a)
)
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp f6b8865c-5ba6-45e6-a65d-a1b68be210e7)
)
(fp_line (start -2.76 -2.465) (end -4.45 -2.465) (layer "F.SilkS") (width 0.12) (tstamp 74239588-025d-4278-bb20-8aaa7c3084df))
(fp_line (start 2.76 3.21) (end 2.76 2.465) (layer "F.SilkS") (width 0.12) (tstamp 782bb1cd-d060-47ff-abe3-37addae7ab1b))
(fp_line (start 0 -3.21) (end -2.76 -3.21) (layer "F.SilkS") (width 0.12) (tstamp a37ee151-4fcc-4d66-943d-e5b1c2e17868))
(fp_line (start -2.76 3.21) (end -2.76 2.465) (layer "F.SilkS") (width 0.12) (tstamp af41f2a4-51e3-4dbb-b929-81c444ac7fff))
(fp_line (start 0 3.21) (end 2.76 3.21) (layer "F.SilkS") (width 0.12) (tstamp c79336f7-374b-471c-a2b2-c23ba36a59b5))
(fp_line (start 0 -3.21) (end 2.76 -3.21) (layer "F.SilkS") (width 0.12) (tstamp cf87a8a5-e65f-4d3a-8572-2d19d388ce69))
(fp_line (start 0 3.21) (end -2.76 3.21) (layer "F.SilkS") (width 0.12) (tstamp d48ee01a-e5c2-4b22-aaa6-a1cb107fbac3))
(fp_line (start -2.76 -3.21) (end -2.76 -2.465) (layer "F.SilkS") (width 0.12) (tstamp d861ecda-fd97-4619-9c2d-6c4f7c60cca0))
(fp_line (start 2.76 -3.21) (end 2.76 -2.465) (layer "F.SilkS") (width 0.12) (tstamp dc7ef0e4-bd3f-4bae-b16a-6091a2fbe1a5))
(fp_line (start 4.7 -3.35) (end -4.7 -3.35) (layer "F.CrtYd") (width 0.05) (tstamp 5f316919-0561-48cc-af6d-627207b632ec))
(fp_line (start -4.7 3.35) (end 4.7 3.35) (layer "F.CrtYd") (width 0.05) (tstamp 6020986c-655c-453e-a057-f214cc9d30ae))
(fp_line (start -4.7 -3.35) (end -4.7 3.35) (layer "F.CrtYd") (width 0.05) (tstamp 6794d844-873d-41de-8a23-157904a72b2b))
(fp_line (start 4.7 3.35) (end 4.7 -3.35) (layer "F.CrtYd") (width 0.05) (tstamp d7967734-f1e1-4546-a5ab-b7258f5f3f2a))
(fp_line (start -2.65 -2.1) (end -1.65 -3.1) (layer "F.Fab") (width 0.1) (tstamp 48790e43-f2fc-44b0-8322-5388cb8e0681))
(fp_line (start 2.65 3.1) (end -2.65 3.1) (layer "F.Fab") (width 0.1) (tstamp 7c60e013-b5db-4162-a3bc-3c3e55a92637))
(fp_line (start -1.65 -3.1) (end 2.65 -3.1) (layer "F.Fab") (width 0.1) (tstamp 89f17c59-8ae8-458d-9e98-a1d8017d430e))
(fp_line (start 2.65 -3.1) (end 2.65 3.1) (layer "F.Fab") (width 0.1) (tstamp d0cb6892-437f-41c0-a652-f027fe7a96eb))
(fp_line (start -2.65 3.1) (end -2.65 -2.1) (layer "F.Fab") (width 0.1) (tstamp ea99ab82-687a-410b-9f25-f99eecf53974))
(pad "1" smd roundrect (at 3.5 -1.905) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 3ef16b5b-8b97-445d-864d-105eb1aa6c46))
(pad "2" smd roundrect (at 3.5 -0.635) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp e4871953-02b6-4389-a5ea-7cc4f8748acd))
(pad "3" smd roundrect (at 3.5 0.635) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 9a059f78-4982-44b4-9c5e-072b9705c642))
(pad "4" smd roundrect (at 3.5 1.905) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp c02f2849-6a0e-4f4d-bf38-717a4b6fd135))
(pad "5" smd roundrect (at -3.5 1.905) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp b4cd1ee4-67da-4549-8e85-46e00c6d8f0b))
(pad "6" smd roundrect (at -3.5 0.635) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 5515138e-0099-4ddf-8a64-f565476c169d))
(pad "7" smd roundrect (at -3.5 -0.635) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 697f93e2-a0be-4cf3-b7ec-1bdeabd8a6ad))
(pad "8" smd roundrect (at -3.5 -1.905) (size 1.9 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 8018f35d-7a92-4135-8a83-0670bf6a5459))
(model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SO-8_5.3x6.2mm_P1.27mm.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,87 @@
(module LOGO (layer F.Cu)
(at 0 0)
(fp_text reference "G***" (at 0 0) (layer F.SilkS) hide
(effects (font (thickness 0.3)))
)
(fp_text value "LOGO" (at 0.75 0) (layer F.SilkS) hide
(effects (font (thickness 0.3)))
)
(fp_poly (pts (xy 3.066152 -6.121191) (xy 3.428893 -6.120766) (xy 3.752319 -6.119859) (xy 4.038875 -6.118399) (xy 4.291009 -6.116313) (xy 4.511168 -6.113530) (xy 4.701799 -6.109980) (xy 4.865348 -6.105590)
(xy 5.004263 -6.100290) (xy 5.120991 -6.094008) (xy 5.217978 -6.086672) (xy 5.297671 -6.078211) (xy 5.362518 -6.068554) (xy 5.414965 -6.057629) (xy 5.457458 -6.045365) (xy 5.492446 -6.031691)
(xy 5.522375 -6.016535) (xy 5.549692 -5.999825) (xy 5.576844 -5.981491) (xy 5.606277 -5.961461) (xy 5.621560 -5.951464) (xy 5.802237 -5.806446) (xy 5.943182 -5.626144) (xy 6.008480 -5.504621)
(xy 6.081889 -5.348111) (xy 6.081889 5.065889) (xy 6.008480 5.222399) (xy 5.886481 5.426964) (xy 5.729099 5.591065) (xy 5.622219 5.668819) (xy 5.590776 5.689726) (xy 5.562762 5.708887)
(xy 5.535715 5.726375) (xy 5.507170 5.742266) (xy 5.474661 5.756634) (xy 5.435724 5.769553) (xy 5.387896 5.781099) (xy 5.328710 5.791346) (xy 5.255703 5.800368) (xy 5.166409 5.808240)
(xy 5.058365 5.815037) (xy 4.929106 5.820832) (xy 4.776167 5.825702) (xy 4.597084 5.829720) (xy 4.389392 5.832960) (xy 4.150626 5.835498) (xy 3.878322 5.837408) (xy 3.570016 5.838765)
(xy 3.223242 5.839643) (xy 2.835536 5.840116) (xy 2.404434 5.840260) (xy 1.927471 5.840149) (xy 1.402182 5.839857) (xy 0.826103 5.839459) (xy 0.196769 5.839030) (xy 0.001126 5.838908)
(xy -0.535567 5.838462) (xy -1.058045 5.837786) (xy -1.563427 5.836894) (xy -2.048833 5.835799) (xy -2.511382 5.834517) (xy -2.948193 5.833062) (xy -3.356385 5.831447) (xy -3.733077 5.829687)
(xy -4.075389 5.827796) (xy -4.380439 5.825788) (xy -4.645347 5.823678) (xy -4.867232 5.821480) (xy -5.043214 5.819207) (xy -5.170410 5.816875) (xy -5.245941 5.814497) (xy -5.266077 5.812913)
(xy -5.491258 5.740750) (xy -5.690423 5.620986) (xy -5.856268 5.458485) (xy -5.911083 5.383451) (xy -5.933608 5.350592) (xy -5.954232 5.321477) (xy -5.973038 5.293611) (xy -5.990111 5.264501)
(xy -6.005534 5.231654) (xy -6.019391 5.192575) (xy -6.031764 5.144771) (xy -6.042737 5.085749) (xy -6.052394 5.013016) (xy -6.060819 4.924076) (xy -6.068093 4.816438) (xy -6.074302 4.687607)
(xy -6.079529 4.535089) (xy -6.083857 4.356392) (xy -6.087369 4.149022) (xy -6.090149 3.910484) (xy -6.092281 3.638287) (xy -6.093847 3.329935) (xy -6.094932 2.982935) (xy -6.095619 2.594794)
(xy -6.095991 2.163018) (xy -6.096131 1.685114) (xy -6.096124 1.158588) (xy -6.096053 0.580947) (xy -6.096001 -0.050304) (xy -6.096000 -0.141111) (xy -6.096043 -0.779900) (xy -6.096116 -1.364739)
(xy -6.096137 -1.898120) (xy -6.096052 -2.256360) (xy -5.814193 -2.256360) (xy -5.814125 -1.757197) (xy -5.813966 -1.208271) (xy -5.813819 -0.607124) (xy -5.813777 -0.141111) (xy -5.813854 0.499116)
(xy -5.814015 1.085355) (xy -5.814159 1.620064) (xy -5.814184 2.105699) (xy -5.813989 2.544718) (xy -5.813470 2.939576) (xy -5.812526 3.292731) (xy -5.811055 3.606639) (xy -5.808956 3.883758)
(xy -5.806125 4.126544) (xy -5.802462 4.337453) (xy -5.797865 4.518944) (xy -5.792230 4.673472) (xy -5.785457 4.803495) (xy -5.777444 4.911469) (xy -5.768088 4.999850) (xy -5.757287 5.071097)
(xy -5.744940 5.127665) (xy -5.730944 5.172012) (xy -5.715199 5.206594) (xy -5.697600 5.233868) (xy -5.678048 5.256290) (xy -5.656439 5.276319) (xy -5.632672 5.296410) (xy -5.606645 5.319020)
(xy -5.586384 5.338304) (xy -5.561771 5.364561) (xy -5.541081 5.388626) (xy -5.521883 5.410597) (xy -5.501747 5.430569) (xy -5.478242 5.448637) (xy -5.448937 5.464897) (xy -5.411403 5.479446)
(xy -5.363209 5.492377) (xy -5.301924 5.503789) (xy -5.225118 5.513775) (xy -5.130361 5.522432) (xy -5.015222 5.529855) (xy -4.877271 5.536141) (xy -4.714078 5.541384) (xy -4.523212 5.545681)
(xy -4.302242 5.549127) (xy -4.048739 5.551819) (xy -3.760271 5.553851) (xy -3.434409 5.555319) (xy -3.068722 5.556320) (xy -2.660779 5.556948) (xy -2.208151 5.557300) (xy -1.708406 5.557471)
(xy -1.159115 5.557557) (xy -0.557847 5.557654) (xy -0.012178 5.557812) (xy 0.631245 5.558012) (xy 1.220601 5.558088) (xy 1.758268 5.558023) (xy 2.246624 5.557799) (xy 2.688045 5.557398)
(xy 3.084909 5.556803) (xy 3.439595 5.555995) (xy 3.754479 5.554958) (xy 4.031940 5.553673) (xy 4.274354 5.552123) (xy 4.484100 5.550290) (xy 4.663554 5.548156) (xy 4.815095 5.545704)
(xy 4.941100 5.542915) (xy 5.043947 5.539772) (xy 5.126012 5.536258) (xy 5.189674 5.532355) (xy 5.237311 5.528044) (xy 5.271300 5.523308) (xy 5.293600 5.518255) (xy 5.468036 5.437528)
(xy 5.619157 5.309399) (xy 5.722084 5.169645) (xy 5.799667 5.037667) (xy 5.799667 -5.319888) (xy 5.722084 -5.451866) (xy 5.654063 -5.548879) (xy 5.572372 -5.640625) (xy 5.538639 -5.671399)
(xy 5.514868 -5.692021) (xy 5.493943 -5.710917) (xy 5.473421 -5.728161) (xy 5.450859 -5.743829) (xy 5.423815 -5.757996) (xy 5.389844 -5.770737) (xy 5.346504 -5.782127) (xy 5.291352 -5.792243)
(xy 5.221946 -5.801158) (xy 5.135842 -5.808948) (xy 5.030596 -5.815689) (xy 4.903768 -5.821456) (xy 4.752912 -5.826324) (xy 4.575587 -5.830368) (xy 4.369349 -5.833663) (xy 4.131755 -5.836285)
(xy 3.860363 -5.838309) (xy 3.552729 -5.839811) (xy 3.206411 -5.840864) (xy 2.818965 -5.841546) (xy 2.387948 -5.841930) (xy 1.910918 -5.842093) (xy 1.385432 -5.842109) (xy 0.809046 -5.842054)
(xy 0.179318 -5.842003) (xy 0.000000 -5.842000) (xy -0.647201 -5.842068) (xy -1.240388 -5.842208) (xy -1.781990 -5.842324) (xy -2.274439 -5.842319) (xy -2.720163 -5.842096) (xy -3.121593 -5.841560)
(xy -3.481159 -5.840613) (xy -3.801291 -5.839160) (xy -4.084419 -5.837103) (xy -4.332972 -5.834346) (xy -4.549381 -5.830793) (xy -4.736077 -5.826347) (xy -4.895488 -5.820912) (xy -5.030045 -5.814390)
(xy -5.142178 -5.806687) (xy -5.234316 -5.797705) (xy -5.308891 -5.787347) (xy -5.368331 -5.775518) (xy -5.415068 -5.762121) (xy -5.451530 -5.747058) (xy -5.480148 -5.730235) (xy -5.503352 -5.711554)
(xy -5.523572 -5.690918) (xy -5.543238 -5.668232) (xy -5.564779 -5.643398) (xy -5.586748 -5.620162) (xy -5.614426 -5.594245) (xy -5.639774 -5.572614) (xy -5.662894 -5.552810) (xy -5.683888 -5.532378)
(xy -5.702857 -5.508859) (xy -5.719902 -5.479799) (xy -5.735127 -5.442739) (xy -5.748633 -5.395223) (xy -5.760521 -5.334795) (xy -5.770893 -5.258997) (xy -5.779852 -5.165373) (xy -5.787498 -5.051467)
(xy -5.793934 -4.914820) (xy -5.799262 -4.752978) (xy -5.803583 -4.563482) (xy -5.806999 -4.343877) (xy -5.809612 -4.091705) (xy -5.811524 -3.804509) (xy -5.812836 -3.479834) (xy -5.813650 -3.115222)
(xy -5.814069 -2.708216) (xy -5.814193 -2.256360) (xy -6.096052 -2.256360) (xy -6.096021 -2.382538) (xy -6.095685 -2.820485) (xy -6.095047 -3.214456) (xy -6.094021 -3.566944) (xy -6.092526 -3.880442)
(xy -6.090477 -4.157444) (xy -6.087792 -4.400443) (xy -6.084386 -4.611933) (xy -6.080176 -4.794408) (xy -6.075080 -4.950361) (xy -6.069013 -5.082285) (xy -6.061892 -5.192675) (xy -6.053634 -5.284023)
(xy -6.044156 -5.358823) (xy -6.033373 -5.419569) (xy -6.021202 -5.468754) (xy -6.007561 -5.508872) (xy -5.992366 -5.542416) (xy -5.975533 -5.571880) (xy -5.956978 -5.599757) (xy -5.936619 -5.628541)
(xy -5.914372 -5.660725) (xy -5.911207 -5.665485) (xy -5.776472 -5.825354) (xy -5.604536 -5.962390) (xy -5.418666 -6.059831) (xy -5.400964 -6.065986) (xy -5.378659 -6.071628) (xy -5.349305 -6.076783)
(xy -5.310456 -6.081478) (xy -5.259665 -6.085739) (xy -5.194485 -6.089592) (xy -5.112469 -6.093065) (xy -5.011172 -6.096183) (xy -4.888146 -6.098973) (xy -4.740946 -6.101462) (xy -4.567124 -6.103675)
(xy -4.364234 -6.105640) (xy -4.129829 -6.107382) (xy -3.861462 -6.108929) (xy -3.556688 -6.110306) (xy -3.213060 -6.111541) (xy -2.828131 -6.112659) (xy -2.399454 -6.113686) (xy -1.924583 -6.114651)
(xy -1.401071 -6.115578) (xy -0.826472 -6.116494) (xy -0.198339 -6.117426) (xy -0.072960 -6.117607) (xy 0.577063 -6.118577) (xy 1.173088 -6.119493) (xy 1.717563 -6.120284) (xy 2.212933 -6.120878)
(xy 2.661648 -6.121204) (xy 3.066152 -6.121191) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 0.388056 -5.224861) (xy 0.926284 -5.151909) (xy 1.442169 -5.030009) (xy 1.931989 -4.860185) (xy 2.269161 -4.707442) (xy 2.385467 -4.646290) (xy 2.515386 -4.573424) (xy 2.649910 -4.494458)
(xy 2.780026 -4.415003) (xy 2.896725 -4.340672) (xy 2.990997 -4.277077) (xy 3.053830 -4.229830) (xy 3.076223 -4.204760) (xy 3.054679 -4.181883) (xy 2.996572 -4.134523) (xy 2.911693 -4.070406)
(xy 2.843389 -4.020972) (xy 2.588378 -3.819391) (xy 2.327603 -3.576761) (xy 2.072524 -3.305783) (xy 1.834598 -3.019161) (xy 1.625286 -2.729598) (xy 1.505020 -2.537285) (xy 1.380316 -2.322904)
(xy 1.142496 -2.442260) (xy 0.832858 -2.574342) (xy 0.519563 -2.658740) (xy 0.184960 -2.699984) (xy 0.127000 -2.702934) (xy -0.253898 -2.695011) (xy -0.612890 -2.637152) (xy -0.957530 -2.527568)
(xy -1.290385 -2.367282) (xy -1.454436 -2.258755) (xy -1.632699 -2.113583) (xy -1.812300 -1.944640) (xy -1.980365 -1.764801) (xy -2.124018 -1.586940) (xy -2.226171 -1.431496) (xy -2.390141 -1.085856)
(xy -2.501199 -0.729720) (xy -2.559954 -0.368118) (xy -2.567011 -0.006082) (xy -2.522977 0.351358) (xy -2.428460 0.699171) (xy -2.284065 1.032326) (xy -2.090401 1.345792) (xy -1.857529 1.624740)
(xy -1.581126 1.879192) (xy -1.286102 2.083481) (xy -0.963395 2.243070) (xy -0.657253 2.348609) (xy -0.558411 2.374336) (xy -0.462583 2.392205) (xy -0.355847 2.403564) (xy -0.224279 2.409764)
(xy -0.053956 2.412154) (xy 0.000000 2.412321) (xy 0.240604 2.407938) (xy 0.442234 2.391658) (xy 0.621727 2.360022) (xy 0.795921 2.309569) (xy 0.981650 2.236841) (xy 1.089842 2.188395)
(xy 1.296608 2.092863) (xy 1.385999 2.252932) (xy 1.674923 2.720001) (xy 1.994558 3.141962) (xy 2.343638 3.517301) (xy 2.702425 3.830121) (xy 2.796896 3.907276) (xy 2.869966 3.973160)
(xy 2.913014 4.019593) (xy 2.920358 4.036818) (xy 2.890949 4.061096) (xy 2.824331 4.106288) (xy 2.731997 4.164778) (xy 2.673266 4.200547) (xy 2.185366 4.462492) (xy 1.685599 4.669552)
(xy 1.174901 4.821510) (xy 0.654210 4.918150) (xy 0.124462 4.959255) (xy -0.413406 4.944609) (xy -0.507003 4.936422) (xy -1.021420 4.859022) (xy -1.521966 4.728701) (xy -2.004900 4.548065)
(xy -2.466482 4.319721) (xy -2.902970 4.046276) (xy -3.310625 3.730336) (xy -3.685705 3.374508) (xy -4.024470 2.981398) (xy -4.323179 2.553614) (xy -4.573789 2.102556) (xy -4.783501 1.612640)
(xy -4.939426 1.111284) (xy -5.042121 0.602317) (xy -5.092138 0.089570) (xy -5.090033 -0.423127) (xy -5.036358 -0.931945) (xy -4.931668 -1.433053) (xy -4.776518 -1.922622) (xy -4.571461 -2.396821)
(xy -4.317052 -2.851821) (xy -4.013845 -3.283791) (xy -3.749271 -3.596340) (xy -3.382862 -3.955827) (xy -2.981063 -4.275414) (xy -2.549031 -4.553070) (xy -2.091924 -4.786766) (xy -1.614902 -4.974470)
(xy -1.123122 -5.114152) (xy -0.621743 -5.203781) (xy -0.115923 -5.241328) (xy 0.388056 -5.224861) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 3.871625 -3.467031) (xy 3.936780 -3.388271) (xy 4.011992 -3.292079) (xy 4.090056 -3.188391) (xy 4.163767 -3.087143) (xy 4.225919 -2.998272) (xy 4.269307 -2.931714) (xy 4.286725 -2.897407)
(xy 4.286321 -2.895141) (xy 4.256882 -2.877822) (xy 4.194588 -2.844925) (xy 4.158744 -2.826659) (xy 3.950167 -2.701112) (xy 3.732023 -2.533119) (xy 3.515113 -2.332872) (xy 3.310237 -2.110568)
(xy 3.128198 -1.876398) (xy 3.084732 -1.813015) (xy 2.876739 -1.451909) (xy 2.720513 -1.075306) (xy 2.615119 -0.687924) (xy 2.559623 -0.294477) (xy 2.553090 0.100317) (xy 2.594586 0.491743)
(xy 2.683176 0.875084) (xy 2.817926 1.245625) (xy 2.997901 1.598649) (xy 3.222167 1.929440) (xy 3.489789 2.233281) (xy 3.799833 2.505457) (xy 3.963878 2.623760) (xy 4.057511 2.688520)
(xy 4.130173 2.741777) (xy 4.171370 2.775690) (xy 4.176889 2.782893) (xy 4.159358 2.818264) (xy 4.112213 2.884836) (xy 4.043629 2.972966) (xy 3.961777 3.073010) (xy 3.874832 3.175325)
(xy 3.790967 3.270269) (xy 3.718356 3.348198) (xy 3.665171 3.399470) (xy 3.641219 3.414889) (xy 3.607900 3.400100) (xy 3.542981 3.361487) (xy 3.467445 3.312042) (xy 3.101674 3.029765)
(xy 2.770771 2.705500) (xy 2.477816 2.343901) (xy 2.225892 1.949622) (xy 2.018078 1.527317) (xy 1.857455 1.081641) (xy 1.773671 0.753207) (xy 1.740101 0.543137) (xy 1.718323 0.295285)
(xy 1.708507 0.027101) (xy 1.710821 -0.243961) (xy 1.725435 -0.500449) (xy 1.752517 -0.724913) (xy 1.758994 -0.762000) (xy 1.856772 -1.162283) (xy 1.999581 -1.564167) (xy 2.180636 -1.952063)
(xy 2.393154 -2.310382) (xy 2.496438 -2.456741) (xy 2.663059 -2.660010) (xy 2.863628 -2.872909) (xy 3.082493 -3.080547) (xy 3.304004 -3.268031) (xy 3.501693 -3.413279) (xy 3.765487 -3.589728)
(xy 3.871625 -3.467031) )(layer F.SilkS) (width 0.010000)
)
(fp_poly (pts (xy 4.708743 -2.093743) (xy 4.715703 -2.086271) (xy 4.732652 -2.047799) (xy 4.761169 -1.970683) (xy 4.797375 -1.866741) (xy 4.837394 -1.747787) (xy 4.877349 -1.625636) (xy 4.913364 -1.512106)
(xy 4.941562 -1.419010) (xy 4.958066 -1.358165) (xy 4.960324 -1.340693) (xy 4.934857 -1.323406) (xy 4.877100 -1.284341) (xy 4.826000 -1.249815) (xy 4.607190 -1.069768) (xy 4.431450 -0.857898)
(xy 4.300458 -0.620760) (xy 4.215893 -0.364908) (xy 4.179433 -0.096895) (xy 4.192756 0.176724) (xy 4.257542 0.449397) (xy 4.340061 0.647631) (xy 4.405102 0.752448) (xy 4.500803 0.875917)
(xy 4.613103 1.002252) (xy 4.727941 1.115669) (xy 4.831254 1.200380) (xy 4.834353 1.202538) (xy 4.913261 1.257086) (xy 4.810446 1.552466) (xy 4.751037 1.717503) (xy 4.699070 1.850800)
(xy 4.657218 1.946047) (xy 4.628156 1.996937) (xy 4.619134 2.003778) (xy 4.593095 1.989948) (xy 4.533783 1.954143) (xy 4.473461 1.916380) (xy 4.335424 1.815149) (xy 4.183457 1.681269)
(xy 4.033324 1.530091) (xy 3.900793 1.376964) (xy 3.848574 1.307997) (xy 3.668412 1.009181) (xy 3.537673 0.689345) (xy 3.456452 0.354911) (xy 3.424846 0.012297) (xy 3.442951 -0.332076)
(xy 3.510863 -0.671788) (xy 3.628678 -1.000421) (xy 3.796493 -1.311553) (xy 3.809056 -1.330900) (xy 3.897570 -1.452007) (xy 4.004725 -1.577172) (xy 4.123758 -1.700762) (xy 4.247908 -1.817143)
(xy 4.370412 -1.920682) (xy 4.484510 -2.005745) (xy 4.583439 -2.066698) (xy 4.660437 -2.097909) (xy 4.708743 -2.093743) )(layer F.SilkS) (width 0.010000)
)
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
(module tp_for_sim (layer F.Cu) (tedit 62960959)
(fp_text reference REF** (at 0 0.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value tp_for_sim (at 0 -0.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 1 smd roundrect (at 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
)

View File

@ -71,6 +71,7 @@ double amps_channel2freq(int channel, int uplink)
double freq;
if (!tacs) {
/* AMPS */
if (uplink == 2)
return -45.000 * 1e6;
@ -86,6 +87,7 @@ double amps_channel2freq(int channel, int uplink)
if (uplink)
freq -= 45.000;
} else if (!jtacs) {
/* TACS */
if (uplink == 2)
return -45.000 * 1e6;
@ -98,14 +100,23 @@ double amps_channel2freq(int channel, int uplink)
if (uplink)
freq -= 45.000;
} else {
/* JTACS */
/* see "ARIB_STD-T64-C.S0057-0v1.0.pdf" */
if (uplink == 2)
return -55.000 * 1e6;
/* 799 channels */
if (channel < 1 || channel > 799)
if (channel >= 1 && channel <= 799)
freq = 860.0125 + (channel - 1) * 0.0125;
else if (channel >= 801 && channel <= 1039)
freq = 843.0125 + (channel - 801) * 0.0125;
else if (channel >= 1041 && channel <= 1199)
freq = 832.0125 + (channel - 1041) * 0.0125;
else if (channel >= 1201 && channel <= 1600)
freq = 838.0125 + (channel - 1201) * 0.0125;
else
return 0;
freq = 860.0125 + (channel - 1) * 0.025;
if (uplink)
freq += 55.000;

View File

@ -127,8 +127,8 @@ struct cnetz {
double frame_last_phase; /* master's bit phase of last frame sync */
/* audio offset removal */
double offset_factor; /* filer alpha of high-pass filter */
double offset_y_last; /* last stored sample */
double offset_last; /* last sample value of last frame */
int offset_range; /* range of samples to ramp the offset */
/* measurements */
int measure_speed; /* measure clock speed */

View File

@ -46,7 +46,6 @@
#define MAX_DISPLAY 1.4 /* something above speech level, no emphasis */
#define BITRATE 5280.0 /* bits per second */
#define BLOCK_BITS 198 /* duration of one time slot including pause at beginning and end */
#define CUT_OFF_OFFSET 300.0 /* cut off frequency for offset filter (level correction between subsequent audio chunks) */
#ifdef TEST_SCRAMBLE
jitter_t scrambler_test_jb;
@ -103,7 +102,6 @@ int dsp_init_sender(cnetz_t *cnetz, int measure_speed, double clock_speed[2], en
{
int rc = 0;
double size;
double RC, dt;
PDEBUG_CHAN(DDSP, DEBUG_DEBUG, "Init FSK for 'Sender'.\n");
@ -150,7 +148,7 @@ int dsp_init_sender(cnetz_t *cnetz, int measure_speed, double clock_speed[2], en
}
/* reinit the sample rate to shrink/expand audio */
init_samplerate(&cnetz->sender.srstate, 8000.0, (double)cnetz->sender.samplerate / 1.1, 3300.0); /* 66 <-> 60 */
init_samplerate(&cnetz->sender.srstate, 8000.0, (double)cnetz->sender.samplerate / (1.1 / (1.0 + clock_speed[0] / 1000000.0)), 3300.0); /* 66 <-> 60 */
rc = fsk_fm_init(&cnetz->fsk_demod, cnetz, cnetz->sender.samplerate, (double)BITRATE / (1.0 + clock_speed[0] / 1000000.0), demod);
if (rc < 0)
@ -170,10 +168,8 @@ int dsp_init_sender(cnetz_t *cnetz, int measure_speed, double clock_speed[2], en
* shall not exceed according to ITU G.162 */
init_compandor(&cnetz->cstate, 8000, 5.0, 22.5);
/* use this filter to compensate level changes between two subsequent audio chunks */
RC = 1.0 / (CUT_OFF_OFFSET * 2.0 *3.14);
dt = 1.0 / cnetz->sender.samplerate;
cnetz->offset_factor = RC / (RC + dt);
/* use duration of one bit to ramp level of last frame to current frame */
cnetz->offset_range = ceil(cnetz->fsk_bitduration);
#ifdef TEST_SCRAMBLE
rc = jitter_create(&scrambler_test_jb, cnetz->sender.samplerate / 5);
@ -821,7 +817,8 @@ void unshrink_speech(cnetz_t *cnetz, sample_t *speech_buffer, int count)
{
sample_t *spl;
int pos, i;
double x, y, x_last, y_last, factor;
int range;
double offset;
/* check if we still have a transaction
* this might not be true, if we just released transaction, but still
@ -830,21 +827,13 @@ void unshrink_speech(cnetz_t *cnetz, sample_t *speech_buffer, int count)
if (!cnetz->trans_list)
return;
/* fix offset between speech blocks by using high pass filter */
/* use first sample as previous sample, so we don't have a level jump between two subsequent audio chunks */
x_last = speech_buffer[0];
y_last = cnetz->offset_y_last;
factor = cnetz->offset_factor;
for (i = 0; i < count; i++) {
/* change level */
x = speech_buffer[i];
/* high-pass to remove low level frequencies, caused by level jump between audio chunks */
y = factor * (y_last + x - x_last);
x_last = x;
y_last = y;
speech_buffer[i] = y;
/* ramp from level of last frame to level of current frame */
range = cnetz->offset_range;
offset = speech_buffer[0] - cnetz->offset_last;
for (i = 0; i < range; i++) {
speech_buffer[i] -= offset * (1.0 - (double)i / (double)range);
}
cnetz->offset_y_last = y_last;
cnetz->offset_last = speech_buffer[count - 1];
/* 4. de-emphasis is done by cnetz code, not by common code */
/* de-emphasis is only used when scrambler is off, see FTZ 171 TR 60 Clause 4 */

View File

@ -121,7 +121,10 @@
* if debug is set to 1, debugging will start at program start
*/
//#define DEBUG_DECODER
//static int debug = 0;
#ifdef DEBUG_DECODER
static int debug = 0;
#endif
#include <stdio.h>
#include <stdint.h>
@ -182,7 +185,7 @@ int fsk_fm_init(fsk_fm_demod_t *fsk, cnetz_t *cnetz, int samplerate, double bitr
#ifdef DEBUG_DECODER
char debug_filename[256];
sprintf(debug_filename, "/tmp/debug_decoder_channel_%d.txt", cnetz->sender.kanal);
sprintf(debug_filename, "/tmp/debug_decoder_channel_%s.txt", cnetz->sender.kanal);
fsk->debug_fp = fopen(debug_filename, "w");
if (!fsk->debug_fp) {
fprintf(stderr, "Failed to open decoder debug file '%s'!\n", debug_filename);
@ -414,17 +417,6 @@ static inline void find_change_slope(fsk_fm_demod_t *fsk)
sample_t threshold;
int i;
#ifdef DEBUG_DECODER
/* show deviation of middle sample in windows (in a range of bandwidth) */
if (debug) {
fprintf(fsk->debug_fp, "%s",
debug_amplitude(
fsk->bit_buffer_spl[(fsk->bit_buffer_pos + fsk->bit_buffer_half) % fsk->bit_buffer_len]
)
);
}
#endif
/* get level range (level_min and level_max) and also
* get maximum slope (change_max) and where it was
* (change_at) and what direction it went (change_positive)
@ -492,10 +484,6 @@ static inline void find_change_slope(fsk_fm_demod_t *fsk)
}
fsk->next_bit -= fsk->bits_per_sample;
#ifdef DEBUG_DECODER
if (debug)
fprintf(fsk->debug_fp, "\n");
#endif
}
/* find bit change by looking at zero crossing */
@ -507,12 +495,6 @@ static inline void find_change_level(fsk_fm_demod_t *fsk)
/* get bit in the middle of the buffer */
s = fsk->bit_buffer_spl[(fsk->bit_buffer_pos + fsk->bit_buffer_half) % fsk->bit_buffer_len];
#ifdef DEBUG_DECODER
/* show deviation */
if (debug)
fprintf(fsk->debug_fp, "%s", debug_amplitude(s));
#endif
/* just sample first bit in distributed mode */
if (fsk->cnetz->dsp_mode == DSP_MODE_SPK_V && fsk->bit_count == 0) {
if (fmod(fsk->bit_time, BITS_PER_SPK_BLOCK) < 1.5)
@ -569,10 +551,6 @@ static inline void find_change_level(fsk_fm_demod_t *fsk)
fsk->next_bit -= fsk->bits_per_sample;
done:
#ifdef DEBUG_DECODER
if (debug)
fprintf(fsk->debug_fp, "\n");
#endif
return;
}
@ -580,7 +558,7 @@ done:
void fsk_fm_demod(fsk_fm_demod_t *fsk, sample_t *samples, int length)
{
int i;
double t;
double t = 0.0;
/* process signaling block, sample by sample */
for (i = 0; i < length; i++) {
@ -590,6 +568,14 @@ void fsk_fm_demod(fsk_fm_demod_t *fsk, sample_t *samples, int length)
if (fsk->bit_buffer_pos == fsk->bit_buffer_len)
fsk->bit_buffer_pos = 0;
#ifdef DEBUG_DECODER
/* show deviation of center sample in window */
if (debug)
fprintf(fsk->debug_fp, "%s", debug_amplitude(fsk->bit_buffer_spl[(fsk->bit_buffer_pos + fsk->bit_buffer_half) % fsk->bit_buffer_len]));
if (debug && fmod(fsk->bit_time - fsk->bits_per_sample, 1.0) > fmod(fsk->bit_time, 1.0))
fprintf(fsk->debug_fp, " -bitchange-");
#endif
/* for each sample process buffer */
if (fsk->cnetz->dsp_mode != DSP_MODE_SPK_V) {
if (fsk->demod_type == FSK_DEMOD_SLOPE)
@ -611,7 +597,7 @@ void fsk_fm_demod(fsk_fm_demod_t *fsk, sample_t *samples, int length)
fsk->next_bit = 1.0 - fsk->bits_per_sample;
#ifdef DEBUG_DECODER
if (debug && fsk->bit_count)
fprintf(fsk->debug_fp, "---- SPK(V) BLOCK START ----\n");
fprintf(fsk->debug_fp, "\n---- SPK(V) BLOCK START ----");
#endif
fsk->bit_count = 0;
} else
@ -622,13 +608,21 @@ void fsk_fm_demod(fsk_fm_demod_t *fsk, sample_t *samples, int length)
find_change_level(fsk);
} else
if (t >= 5.5 && t < 65.5) {
#ifdef DEBUG_DECODER
if (debug && !fsk->speech_count)
fprintf(fsk->debug_fp, " (start recording speech)");
#endif
/* get audio for the duration of 60 bits */
/* prevent overflow, if speech_size != 0 and SPK_V
* has been restarted. */
if (fsk->speech_count < fsk->speech_size)
fsk->speech_buffer[fsk->speech_count++] = samples[i];
fsk->speech_buffer[fsk->speech_count++] = fsk->bit_buffer_spl[(fsk->bit_buffer_pos + fsk->bit_buffer_half) % fsk->bit_buffer_len];
} else
if (t >= 65.5) {
#ifdef DEBUG_DECODER
if (debug && fsk->speech_count)
fprintf(fsk->debug_fp, " (stop recording speech)");
#endif
if (fsk->speech_count) {
unshrink_speech(fsk->cnetz, fsk->speech_buffer, fsk->speech_count);
fsk->speech_count = 0;
@ -641,6 +635,10 @@ void fsk_fm_demod(fsk_fm_demod_t *fsk, sample_t *samples, int length)
if (fsk->bit_time >= BITS_PER_SUPERFRAME) {
fsk->bit_time -= BITS_PER_SUPERFRAME;
}
#ifdef DEBUG_DECODER
if (debug && samples)
fprintf(fsk->debug_fp, "\n");
#endif
/* another clock is used to measure actual super frame time */
fsk->bit_time_uncorrected += fsk->bits_per_sample;
if (fsk->bit_time_uncorrected >= BITS_PER_SUPERFRAME) {

View File

@ -77,7 +77,7 @@ int meldeinterval = 120; /* when to ask the phone about beeing alive */
int meldeaufrufe = 3; /* how many times to ask phone about beeing alive */
enum demod_type demod = FSK_DEMOD_AUTO;
int metering = 20;
double speech_deviation = 4000.0; /* best results with all my equipment */
double speech_deviation = 2400.0; /* best results with older equipment (not C5) */
void print_help(const char *arg0)
{
@ -125,8 +125,8 @@ void print_help(const char *arg0)
printf(" Increment metering counter every given number of seconds.\n");
printf(" To turn off, use 0. (default = %d)\n", metering);
printf(" -V --voice-deviation <2400..4000 Hz>\n");
printf(" It is unclear what the actual voice deviation is. Please decrease, if\n");
printf(" mobile's microphone is too loud and speaker is too quiet.\n");
printf(" It is unclear what the actual voice deviation is. Please increase, if\n");
printf(" mobile's earpiece is too quiet and the microphone is too loud.\n");
printf(" (default = %.0f)\n", speech_deviation);
printf(" -S --sysinfo timeslots=1|2|4|8\n");
printf(" Set number of timeslots of OgK broadcast. There are 32 time slots per\n");

View File

@ -23,7 +23,6 @@ fuvst_LDADD = \
$(top_builddir)/src/libjitter/libjitter.a \
$(top_builddir)/src/libtimer/libtimer.a \
$(top_builddir)/src/libsamplerate/libsamplerate.a \
$(top_builddir)/src/libscrambler/libscrambler.a \
$(top_builddir)/src/libemphasis/libemphasis.a \
$(top_builddir)/src/libfm/libfm.a \
$(top_builddir)/src/libv27/libv27.a \
@ -50,7 +49,6 @@ fuvst_sniffer_LDADD = \
$(top_builddir)/src/libjitter/libjitter.a \
$(top_builddir)/src/libtimer/libtimer.a \
$(top_builddir)/src/libsamplerate/libsamplerate.a \
$(top_builddir)/src/libscrambler/libscrambler.a \
$(top_builddir)/src/libemphasis/libemphasis.a \
$(top_builddir)/src/libfm/libfm.a \
$(top_builddir)/src/libv27/libv27.a \

View File

@ -1,5 +1,4 @@
#include "../libmobile/sender.h"
#include "../libscrambler/scrambler.h"
#include "../libv27/modem.h"
#include "../libmtp/mtp.h"
#include "mup.h"

View File

@ -150,7 +150,7 @@ void _printdebug(const char *file, const char __attribute__((unused)) *function,
int s = sizeof(buffer) - 1;
const char *p;
va_list args;
int w, h;
int w, h = 0; // make GCC happy
if (debuglevel > level)
return;

View File

@ -22,7 +22,7 @@
#include "message.h"
#include "cause.h"
/* stolen from freeswitch */
/* stolen from freeswitch, did some corrections */
/* map sip responses to QSIG cause codes ala RFC4497 section 8.4.4 */
static uint8_t status2isdn_cause(uint16_t status)
{
@ -36,10 +36,9 @@ static uint8_t status2isdn_cause(uint16_t status)
case 603:
return 21; //SWITCH_CAUSE_CALL_REJECTED;
case 404:
return 1; //SWITCH_CAUSE_UNALLOCATED_NUMBER;
case 485:
case 604:
return 3; //SWITCH_CAUSE_NO_ROUTE_DESTINATION;
return 1; //SWITCH_CAUSE_UNALLOCATED_NUMBER;
case 408:
case 504:
return 102; //SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE;
@ -55,7 +54,7 @@ static uint8_t status2isdn_cause(uint16_t status)
case 513:
return 127; //SWITCH_CAUSE_INTERWORKING;
case 480:
return 180; //SWITCH_CAUSE_NO_USER_RESPONSE;
return 18; //SWITCH_CAUSE_NO_USER_RESPONSE;
case 400:
case 481:
case 500:
@ -68,7 +67,7 @@ static uint8_t status2isdn_cause(uint16_t status)
return 28; //SWITCH_CAUSE_INVALID_NUMBER_FORMAT;
case 488:
case 606:
return 88; //SWITCH_CAUSE_INCOMPATIBLE_DESTINATION;
return 65; //SWITCH_CAUSE_BERER_CAPABILITY_NOT_IMPLEMENTED;
case 502:
return 38; //SWITCH_CAUSE_NETWORK_OUT_OF_ORDER;
case 405:
@ -81,7 +80,7 @@ static uint8_t status2isdn_cause(uint16_t status)
case 483:
return 25; //SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR;
case 487:
return 31; //??? SWITCH_CAUSE_ORIGINATOR_CANCEL;
return 31; //??? SWITCH_CAUSE_ORIGINATOR_CANCEL; (not specified)
default:
return 31; //SWITCH_CAUSE_NORMAL_UNSPECIFIED;
}

View File

@ -1072,6 +1072,36 @@ void osmo_cc_ul_msg(void *priv, uint32_t callref, osmo_cc_msg_t *msg)
osmo_cc_msg_list_enqueue(&call->sock_queue, msg, call->callref);
}
static void osmo_cc_help_name(void)
{
printf("Name options:\n\n");
printf("name <name>\n");
printf("Allows to override endpoint name given by application.\n");
}
static int osmo_cc_set_name(osmo_cc_endpoint_t *ep, const char *text)
{
if (!strncasecmp(text, "name", 4)) {
text += 4;
/* remove spaces after keyword */
while (*text) {
if (*text > 32)
break;
text++;
}
} else {
PDEBUG(DCC, DEBUG_ERROR, "Invalid name definition '%s'\n", text);
return -EINVAL;
}
free((char *)ep->local_name);
ep->local_name = strdup(text);
return 0;
}
static void osmo_cc_help_address(void)
{
printf("Address options:\n\n");
@ -1080,6 +1110,8 @@ static void osmo_cc_help_address(void)
printf("local [<IPv6 address>]:<port>\n");
printf("remote <IPv4 address>:<port>\n");
printf("remote [<IPv6 address>]:<port>\n\n");
printf("remote auto\n\n");
printf("remote none\n\n");
printf("These options can be used to define local and remote IP and port for the socket\n");
printf("interface. Note that IPv6 addresses must be enclosed by '[' and ']'.\n\n");
@ -1090,6 +1122,9 @@ static void osmo_cc_help_address(void)
printf("If no remote address is given, the local IP is used. If the local port is %d,\n", OSMO_CC_DEFAULT_PORT);
printf("the remote port will be %d. If not, the remote port will be %d. This way it is\n", OSMO_CC_DEFAULT_PORT + 1, OSMO_CC_DEFAULT_PORT);
printf("possible to link two interfaces without any IP configuration required.\n\n");
printf("Use 'remote auto' to enable and 'remote none' to disable. This can be useful to\n");
printf("override application default.\n\n");
}
static int osmo_cc_set_address(osmo_cc_endpoint_t *ep, const char *text)
@ -1124,6 +1159,11 @@ static int osmo_cc_set_address(osmo_cc_endpoint_t *ep, const char *text)
ep->remote_auto = 1;
return 0;
}
if (!strcasecmp(text, "none")) {
PDEBUG(DCC, DEBUG_DEBUG, "disable automatic remote peer selection\n");
ep->remote_auto = 0;
return 0;
}
ep->remote_auto = 0;
address_p = &ep->remote_address;
host_p = &ep->remote_host;
@ -1249,9 +1289,10 @@ static int osmo_cc_set_rtp(osmo_cc_endpoint_t *ep, const char *text)
void osmo_cc_help(void)
{
osmo_cc_help_screen();
osmo_cc_help_name();
osmo_cc_help_address();
osmo_cc_help_rtp();
osmo_cc_help_screen();
}
/* create a new endpoint instance */
@ -1288,6 +1329,12 @@ int osmo_cc_new(osmo_cc_endpoint_t *ep, const char *version, const char *name, u
/* apply args */
for (i = 0; i < argc; i++) {
if (!strncasecmp(argv[i], "name", 4)) {
rc = osmo_cc_set_name(ep, argv[i]);
if (rc < 0) {
return rc;
}
} else
if (!strncasecmp(argv[i], "local", 5)) {
rc = osmo_cc_set_address(ep, argv[i]);
if (rc < 0) {

View File

@ -58,6 +58,10 @@ void osmo_cc_help_screen(void)
printf("to allow any suffix to match from now on. The new caller ID or dialed number\n");
printf("may contain a '*', to append the suffix from the current caller ID or dialed\n");
printf("number.\n\n");
printf("When screening an incoming caller ID or dialed number, the '@' can be appended\n");
printf("to the 'new caller ID', followed by a 'host:port', to route call to a special\n");
printf("Osmo-CC endpoint. This way it is possible to do simple routing.\n\n");
}
char *osmo_cc_strtok_quotes(const char **text_p)
@ -139,6 +143,7 @@ int osmo_cc_add_screen(osmo_cc_endpoint_t *ep, const char *text)
} else if (!strncasecmp(text, "screen-called-in", 16)) {
text += 16;
list_p = &ep->screen_called_in;
calling_in = 1;
} else if (!strncasecmp(text, "screen-calling-out", 18)) {
text += 18;
list_p = &ep->screen_calling_out;
@ -218,6 +223,7 @@ no_present_error:
list->from_present = OSMO_CC_PRESENT_RESTRICTED;
goto next_from;
} else {
star_used = 0;
for (i = j = 0; token[i] && j < (int)sizeof(list->from) - 1; i++, j++) {
if (token[i] == '?')
list->from[j] = SCREEN_QUESTIONMARK;
@ -240,7 +246,6 @@ no_present_error:
list->from[j] = '\0';
}
star_used = 0;
next_to:
token = osmo_cc_strtok_quotes(&text);
if (!token) {
@ -293,6 +298,7 @@ next_to:
list->to_present = OSMO_CC_PRESENT_RESTRICTED;
goto next_to;
} else {
at_used = star_used = 0;
for (i = j = 0; token[i] && j < (int)sizeof(list->to) - 1; i++, j++) {
if (token[i] == '*') {
if (star_used) {
@ -506,7 +512,8 @@ static int osmo_cc_screen(const char *what, osmo_cc_screen_list_t *list, uint8_t
continue;
/* '@' means to stop and return routing also */
} else if (list->to[i] == SCREEN_AT) {
*routing_p = &list->to[i];
if (routing_p)
*routing_p = &list->to[i + 1];
break;
}
/* copy output digit */
@ -543,6 +550,8 @@ static int osmo_cc_screen(const char *what, osmo_cc_screen_list_t *list, uint8_t
PDEBUG(DCC, DEBUG_INFO, " -> present = restricted\n");
break;
}
if (routing_p && *routing_p)
PDEBUG(DCC, DEBUG_INFO, " -> remote = %s\n", *routing_p);
return 0;
}
@ -586,13 +595,13 @@ osmo_cc_msg_t *osmo_cc_screen_msg(osmo_cc_endpoint_t *ep, osmo_cc_msg_t *old_msg
if (in && ep->screen_called_in) {
rc = osmo_cc_get_ie_called(old_msg, 0, &called_type, &called_plan, id, sizeof(id));
if (rc >= 0) {
rc = osmo_cc_screen("incoming dialed number", ep->screen_called_in, &called_type, NULL, called, sizeof(called), id, NULL);
rc = osmo_cc_screen("incoming dialed number", ep->screen_called_in, &called_type, NULL, called, sizeof(called), id, routing_p);
if (rc >= 0)
called_status = 1;
} else {
called_type = OSMO_CC_TYPE_UNKNOWN;
called_plan = OSMO_CC_PLAN_TELEPHONY;
rc = osmo_cc_screen("incoming dialed number", ep->screen_called_in, &called_type, NULL, called, sizeof(called), "", NULL);
rc = osmo_cc_screen("incoming dialed number", ep->screen_called_in, &called_type, NULL, called, sizeof(called), "", routing_p);
if (rc >= 0)
called_status = 1;
}

View File

@ -55,6 +55,7 @@ int num_supervisory = 0;
int supervisory[MAX_SENDER] = { 1 };
const char *smsc_number = "767";
int send_callerid = 0;
int send_clock = 0;
void print_help(const char *arg0)
{
@ -93,6 +94,9 @@ void print_help(const char *arg0)
printf(" Message Service Center). (default = '%s')\n", smsc_number);
printf(" -I --caller-id 1 | 0\n");
printf(" If set, the caller ID is sent while ringing the phone. (default = '%d')\n", send_callerid);
printf(" -U --clock 1 | 0\n");
printf(" If set, the current time is transmitted with CC. (default = '%d')\n", send_clock);
printf(" Note that this works only with pure CC, not with combined CC+TC.\n");
main_mobile_print_station_id();
main_mobile_print_hotkeys();
}
@ -109,6 +113,7 @@ static void add_options(void)
option_add('0', "supervisory", 1);
option_add('S', "smsc-number", 1);
option_add('I', "caller-id", 1);
option_add('U', "clock", 1);
}
static int handle_options(int short_option, int argi, char **argv)
@ -206,6 +211,9 @@ error_ta:
case 'I':
send_callerid = atoi(argv[argi]);
break;
case 'U':
send_clock = atoi(argv[argi]);
break;
default:
return main_mobile_handle_options(short_option, argi, argv);
}
@ -401,7 +409,7 @@ int main(int argc, char *argv[])
/* create transceiver instance */
for (i = 0; i < num_kanal; i++) {
rc = nmt_create(nmt_system, country, kanal[i], chan_type[i], dsp_device[i], use_sdr, dsp_samplerate, rx_gain, tx_gain, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, read_tx_wave, ms_power, traffic_area, area_no, compandor, supervisory[i], smsc_number, send_callerid, loopback);
rc = nmt_create(nmt_system, country, kanal[i], chan_type[i], dsp_device[i], use_sdr, dsp_samplerate, rx_gain, tx_gain, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, read_tx_wave, ms_power, traffic_area, area_no, compandor, supervisory[i], smsc_number, send_callerid, send_clock, loopback);
if (rc < 0) {
fprintf(stderr, "Failed to create transceiver instance. Quitting!\n");
goto fail;

View File

@ -261,7 +261,7 @@ static inline int is_chan_class_tc(enum nmt_chan_type chan_type)
static void nmt_timeout(struct timer *timer);
/* Create transceiver instance and link to a list. */
int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_chan_type chan_type, const char *device, int use_sdr, int samplerate, double rx_gain, double tx_gain, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, const char *read_tx_wave, uint8_t ms_power, uint8_t traffic_area, uint8_t area_no, int compandor, int supervisory, const char *smsc_number, int send_callerid, int loopback)
int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_chan_type chan_type, const char *device, int use_sdr, int samplerate, double rx_gain, double tx_gain, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, const char *read_tx_wave, uint8_t ms_power, uint8_t traffic_area, uint8_t area_no, int compandor, int supervisory, const char *smsc_number, int send_callerid, int send_clock, int loopback)
{
nmt_t *nmt;
int rc;
@ -291,6 +291,10 @@ int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_
PDEBUG(DNMT, DEBUG_NOTICE, "*** Selected channel can be used for nothing but testing signal decoder.\n");
}
if (chan_type == CHAN_TYPE_CC_TC && send_clock) {
PDEBUG(DNMT, DEBUG_NOTICE, "*** Sending clock on combined CC + TC is not applicable.\n");
}
nmt = calloc(1, sizeof(nmt_t));
if (!nmt) {
PDEBUG(DNMT, DEBUG_ERROR, "No memory!\n");
@ -315,6 +319,7 @@ int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_
nmt->compandor = compandor;
nmt->supervisory = supervisory;
nmt->send_callerid = send_callerid;
nmt->send_clock = send_clock;
strncpy(nmt->smsc_number, smsc_number, sizeof(nmt->smsc_number) - 1);
/* init audio processing */
@ -616,6 +621,10 @@ static void set_line_signal(nmt_t *nmt, frame_t *frame, uint8_t signal)
static void tx_idle(nmt_t *nmt, frame_t *frame)
{
time_t time_sec;
struct tm *tm;
uint16_t clock;
switch (nmt->sysinfo.chan_type) {
case CHAN_TYPE_CC:
frame->mt = NMT_MESSAGE_1a;
@ -639,9 +648,31 @@ static void tx_idle(nmt_t *nmt, frame_t *frame)
frame->mt = NMT_MESSAGE_30;
break;
}
frame->channel_no = nmt_encode_channel(nmt->sysinfo.system, atoi(nmt->sender.kanal), nmt->sysinfo.ms_power);
frame->traffic_area = nmt_encode_traffic_area(nmt->sysinfo.system, atoi(nmt->sender.kanal), nmt->sysinfo.traffic_area);
frame->additional_info = nmt_encode_area_no(nmt->sysinfo.area_no);
/* additional info */
frame->additional_info = 0;
if (frame->mt == NMT_MESSAGE_1a || frame->mt == NMT_MESSAGE_1a_a || frame->mt == NMT_MESSAGE_1a_b || frame->mt == NMT_MESSAGE_1b) {
/* no battery saving, just use group 8 (all phones) with no saving period */
frame->additional_info |= 0xeb00008000;
/* phone is allowed to send overdecadic dialing digits */
frame->additional_info |= 0x0000020000;
/* no clock on combined CC+TC */
if (nmt->send_clock && frame->mt != NMT_MESSAGE_1b) {
/* send battery saving message including clock */
time_sec = get_time();
tm = localtime(&time_sec);
clock = (1 << 11) | (tm->tm_hour << 6) | tm->tm_min;
/* add clock with flag */
frame->additional_info |= clock;
}
}
if (frame->mt == NMT_MESSAGE_1b || frame->mt == NMT_MESSAGE_4 || frame->mt == NMT_MESSAGE_4b || frame->mt == NMT_MESSAGE_30) {
/* sent area info on traffic channels; it is always H8H9H10, because all IEs are aligned 'to the right' */
frame->additional_info |= nmt_encode_area_no(nmt->sysinfo.area_no);
}
}
static void rx_idle(nmt_t *nmt, frame_t *frame)
@ -905,7 +936,53 @@ static void rx_mo_dialing(nmt_t *nmt, frame_t *frame)
case NMT_MESSAGE_15: /* idle */
if (!len)
break;
if (nmt->dialing[0] == 'A') {
nmt->dialing[0] = '+';
PDEBUG_CHAN(DNMT, DEBUG_INFO, "Dialing includes international '+' sign at the beginning.\n");
}
if (nmt->dialing[0] == 'B') {
const char *code = NULL;
switch (nmt->dialing[1]) {
case '1':
code = "general emergency number";
break;
case '2':
code = "fire alarm";
break;
case '3':
code = "police";
break;
case '4':
code = "ambulance";
break;
case '5':
code = "gas emergency";
break;
case '6':
code = "directory inquiry (national)";
break;
case '7':
code = "directory inquiry (international)";
break;
case '8':
code = "operator assisted service (to make outgoing calls)";
break;
case '9':
code = "local customer care";
break;
case 'B':
code = "road service";
break;
case 'C':
code = "weather";
break;
}
if (code)
PDEBUG_CHAN(DNMT, DEBUG_INFO, "Dialing includes service code: '%c%c' = '%s'\n", nmt->dialing[0], nmt->dialing[1], code);
}
PDEBUG_CHAN(DNMT, DEBUG_INFO, "Dialing complete %s->%s, call established.\n", &trans->subscriber.country, nmt->dialing);
if (nmt->dialing[0] == 'B')
nmt->dialing[0] = '+';
/* setup call */
if (!strcmp(nmt->dialing, nmt->smsc_number)) {
/* SMS */
@ -1687,6 +1764,8 @@ const char *nmt_get_frame(nmt_t *nmt)
/* no encoding debug for certain (idle) frames */
switch(frame.mt) {
case NMT_MESSAGE_1a:
case NMT_MESSAGE_1a_a:
case NMT_MESSAGE_1a_b:
case NMT_MESSAGE_4:
case NMT_MESSAGE_1b:
case NMT_MESSAGE_30:

View File

@ -102,6 +102,7 @@ struct nmt {
int compandor; /* if compandor shall be used */
int supervisory; /* if set, use supervisory signal 1..4 */
int send_callerid; /* if set, send caller ID while ringing the phone */
int send_clock; /* if set, send clock with CC */
/* dsp states */
enum dsp_mode dsp_mode; /* current mode: audio, durable tone 0 or 1, paging */
@ -144,7 +145,7 @@ void nmt_channel_list(int nmt_system);
int nmt_channel_by_short_name(int nmt_system, const char *short_name);
const char *chan_type_short_name(int nmt_system, enum nmt_chan_type chan_type);
const char *chan_type_long_name(int nmt_system, enum nmt_chan_type chan_type);
int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_chan_type chan_type, const char *device, int use_sdr, int samplerate, double rx_gain, double tx_gain, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, const char *read_tx_wave, uint8_t ms_power, uint8_t traffic_area, uint8_t area_no, int compandor, int supervisory, const char *smsc_number, int send_callerid, int loopback);
int nmt_create(int nmt_system, const char *country, const char *kanal, enum nmt_chan_type chan_type, const char *device, int use_sdr, int samplerate, double rx_gain, double tx_gain, int pre_emphasis, int de_emphasis, const char *write_rx_wave, const char *write_tx_wave, const char *read_rx_wave, const char *read_tx_wave, uint8_t ms_power, uint8_t traffic_area, uint8_t area_no, int compandor, int supervisory, const char *smsc_number, int send_callerid, int send_clock, int loopback);
void nmt_check_channels(int nmt_system);
void nmt_destroy(sender_t *sender);
void nmt_go_idle(nmt_t *nmt);