Code cleaning. Minor fixes. Better link to gnucap.
Fixed a minor issue when creating a netlist: for nets having global labels, global label names were ignored when searching a name for this net.
This commit is contained in:
commit
94e51aa3a3
|
@ -1,453 +0,0 @@
|
|||
PCBNEW-LibModule-V1
|
||||
$INDEX
|
||||
LOGO
|
||||
$EndINDEX
|
||||
#
|
||||
# LOGO
|
||||
# pixmap w = 229, h = 270
|
||||
#
|
||||
$MODULE LOGO
|
||||
Po 0 0 0 15 00000000 00000000 ~~
|
||||
T0 0 4800 600 600 0 120 N I 21 "G***"
|
||||
T1 0 -4800 600 600 0 120 N I 21 "LOGO"
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl -3783 4516
|
||||
Dl -3766 -4466
|
||||
Dl 3850 -4483
|
||||
Dl -3800 -4500
|
||||
Dl -3783 4516
|
||||
DP 0 0 0 0 390 1 21
|
||||
Dl 1632 4131
|
||||
Dl 1638 4131
|
||||
Dl 1780 4126
|
||||
Dl 1890 4102
|
||||
Dl 2002 4043
|
||||
Dl 2149 3930
|
||||
Dl 2363 3747
|
||||
Dl 2609 3558
|
||||
Dl 2925 3367
|
||||
Dl 2953 3353
|
||||
Dl 3208 3199
|
||||
Dl 3374 3049
|
||||
Dl 3430 2920
|
||||
Dl 3427 2889
|
||||
Dl 3408 2899
|
||||
Dl 3352 2984
|
||||
Dl 3273 3033
|
||||
Dl 3265 3034
|
||||
Dl 3196 3087
|
||||
Dl 3127 3137
|
||||
Dl 2968 3224
|
||||
Dl 2766 3322
|
||||
Dl 2565 3409
|
||||
Dl 2409 3464
|
||||
Dl 2322 3492
|
||||
Dl 2250 3532
|
||||
Dl 2193 3578
|
||||
Dl 2046 3649
|
||||
Dl 1874 3708
|
||||
Dl 1736 3733
|
||||
Dl 1669 3729
|
||||
Dl 1582 3691
|
||||
Dl 1484 3578
|
||||
Dl 1479 3570
|
||||
Dl 1408 3458
|
||||
Dl 1371 3333
|
||||
Dl 1360 3154
|
||||
Dl 1369 2883
|
||||
Dl 1374 2686
|
||||
Dl 1361 2510
|
||||
Dl 1318 2351
|
||||
Dl 1286 2218
|
||||
Dl 1266 2017
|
||||
Dl 1257 1890
|
||||
Dl 1233 1816
|
||||
Dl 1230 1815
|
||||
Dl 1208 1871
|
||||
Dl 1199 2043
|
||||
Dl 1199 2110
|
||||
Dl 1190 2365
|
||||
Dl 1158 2536
|
||||
Dl 1091 2664
|
||||
Dl 977 2790
|
||||
Dl 920 2843
|
||||
Dl 516 3128
|
||||
Dl 70 3289
|
||||
Dl -404 3323
|
||||
Dl -637 3292
|
||||
Dl -853 3202
|
||||
Dl -1017 3037
|
||||
Dl -1126 2886
|
||||
Dl -999 2829
|
||||
Dl -983 2821
|
||||
Dl -843 2712
|
||||
Dl -822 2563
|
||||
Dl -822 2562
|
||||
Dl -856 2472
|
||||
Dl -936 2370
|
||||
Dl -1082 2234
|
||||
Dl -1316 2041
|
||||
Dl -1493 1900
|
||||
Dl -1665 1757
|
||||
Dl -1767 1658
|
||||
Dl -1816 1577
|
||||
Dl -1831 1491
|
||||
Dl -1832 1376
|
||||
Dl -1818 1157
|
||||
Dl -1783 920
|
||||
Dl -1783 919
|
||||
Dl -1720 715
|
||||
Dl -1617 463
|
||||
Dl -1494 206
|
||||
Dl -1372 -10
|
||||
Dl -1272 -144
|
||||
Dl -1237 -179
|
||||
Dl -1193 -249
|
||||
Dl -1222 -335
|
||||
Dl -1248 -399
|
||||
Dl -1243 -481
|
||||
Dl -1185 -620
|
||||
Dl -1093 -804
|
||||
Dl -979 -1005
|
||||
Dl -973 -1016
|
||||
Dl -889 -1183
|
||||
Dl -877 -1295
|
||||
Dl -885 -1396
|
||||
Dl -865 -1410
|
||||
Dl -865 -2009
|
||||
Dl -930 -2105
|
||||
Dl -953 -2213
|
||||
Dl -966 -2390
|
||||
Dl -966 -2426
|
||||
Dl -943 -2572
|
||||
Dl -861 -2701
|
||||
Dl -786 -2787
|
||||
Dl -733 -2833
|
||||
Dl -692 -2808
|
||||
Dl -592 -2724
|
||||
Dl -547 -2679
|
||||
Dl -450 -2495
|
||||
Dl -476 -2314
|
||||
Dl -523 -2224
|
||||
Dl -543 -2349
|
||||
Dl -559 -2417
|
||||
Dl -638 -2554
|
||||
Dl -744 -2596
|
||||
Dl -848 -2525
|
||||
Dl -897 -2373
|
||||
Dl -832 -2172
|
||||
Dl -798 -2106
|
||||
Dl -784 -2031
|
||||
Dl -794 -2018
|
||||
Dl -865 -2009
|
||||
Dl -865 -1410
|
||||
Dl -838 -1429
|
||||
Dl -731 -1345
|
||||
Dl -637 -1263
|
||||
Dl -471 -1159
|
||||
Dl -412 -1136
|
||||
Dl -412 -1333
|
||||
Dl -483 -1366
|
||||
Dl -484 -1369
|
||||
Dl -453 -1399
|
||||
Dl -412 -1380
|
||||
Dl -412 -1473
|
||||
Dl -617 -1494
|
||||
Dl -737 -1573
|
||||
Dl -743 -1597
|
||||
Dl -719 -1723
|
||||
Dl -644 -1899
|
||||
Dl -626 -1935
|
||||
Dl -600 -2011
|
||||
Dl -580 -2047
|
||||
Dl -496 -2136
|
||||
Dl -472 -2157
|
||||
Dl -369 -2218
|
||||
Dl -221 -2228
|
||||
Dl -123 -2221
|
||||
Dl -125 -2209
|
||||
Dl -133 -2208
|
||||
Dl -197 -2165
|
||||
Dl -133 -2116
|
||||
Dl -123 -2113
|
||||
Dl -33 -2118
|
||||
Dl -18 -2168
|
||||
Dl -24 -2193
|
||||
Dl 49 -2183
|
||||
Dl 233 -2099
|
||||
Dl 245 -2094
|
||||
Dl 391 -2027
|
||||
Dl 478 -1999
|
||||
Dl 495 -1996
|
||||
Dl 495 -2037
|
||||
Dl 423 -2065
|
||||
Dl 467 -2158
|
||||
Dl 520 -2276
|
||||
Dl 512 -2442
|
||||
Dl 434 -2577
|
||||
Dl 303 -2633
|
||||
Dl 230 -2607
|
||||
Dl 138 -2490
|
||||
Dl 98 -2320
|
||||
Dl 97 -2183
|
||||
Dl 31 -2262
|
||||
Dl -55 -2423
|
||||
Dl -45 -2589
|
||||
Dl 74 -2708
|
||||
Dl 142 -2741
|
||||
Dl 313 -2816
|
||||
Dl 412 -2842
|
||||
Dl 473 -2829
|
||||
Dl 484 -2822
|
||||
Dl 533 -2739
|
||||
Dl 536 -2719
|
||||
Dl 596 -2627
|
||||
Dl 644 -2561
|
||||
Dl 685 -2383
|
||||
Dl 659 -2182
|
||||
Dl 614 -2083
|
||||
Dl 532 -2040
|
||||
Dl 495 -2037
|
||||
Dl 495 -1996
|
||||
Dl 506 -1993
|
||||
Dl 604 -1935
|
||||
Dl 656 -1882
|
||||
Dl 640 -1827
|
||||
Dl 614 -1805
|
||||
Dl 569 -1828
|
||||
Dl 561 -1839
|
||||
Dl 511 -1850
|
||||
Dl 413 -1805
|
||||
Dl 236 -1690
|
||||
Dl 89 -1608
|
||||
Dl -108 -1528
|
||||
Dl -159 -1513
|
||||
Dl -412 -1473
|
||||
Dl -412 -1380
|
||||
Dl -383 -1366
|
||||
Dl -381 -1363
|
||||
Dl -412 -1333
|
||||
Dl -412 -1136
|
||||
Dl -399 -1131
|
||||
Dl -220 -1110
|
||||
Dl -22 -1170
|
||||
Dl 232 -1318
|
||||
Dl 324 -1377
|
||||
Dl 514 -1477
|
||||
Dl 628 -1491
|
||||
Dl 684 -1425
|
||||
Dl 697 -1388
|
||||
Dl 760 -1249
|
||||
Dl 850 -1065
|
||||
Dl 884 -995
|
||||
Dl 985 -757
|
||||
Dl 1053 -548
|
||||
Dl 1117 -358
|
||||
Dl 1203 -199
|
||||
Dl 1383 97
|
||||
Dl 1511 450
|
||||
Dl 1536 567
|
||||
Dl 1577 892
|
||||
Dl 1589 1224
|
||||
Dl 1567 1496
|
||||
Dl 1556 1560
|
||||
Dl 1545 1685
|
||||
Dl 1569 1735
|
||||
Dl 1579 1744
|
||||
Dl 1583 1813
|
||||
Dl 1535 1967
|
||||
Dl 1534 1970
|
||||
Dl 1486 2117
|
||||
Dl 1481 2211
|
||||
Dl 1516 2321
|
||||
Dl 1522 2335
|
||||
Dl 1658 2502
|
||||
Dl 1859 2582
|
||||
Dl 2077 2554
|
||||
Dl 2078 2554
|
||||
Dl 2201 2473
|
||||
Dl 2339 2346
|
||||
Dl 2453 2214
|
||||
Dl 2499 2120
|
||||
Dl 2526 2030
|
||||
Dl 2595 1887
|
||||
Dl 2618 1845
|
||||
Dl 2736 1510
|
||||
Dl 2760 1129
|
||||
Dl 2690 686
|
||||
Dl 2526 166
|
||||
Dl 2419 -91
|
||||
Dl 2285 -326
|
||||
Dl 2107 -549
|
||||
Dl 2084 -575
|
||||
Dl 1788 -972
|
||||
Dl 1513 -1466
|
||||
Dl 1410 -1707
|
||||
Dl 1349 -1962
|
||||
Dl 1333 -2269
|
||||
Dl 1331 -2416
|
||||
Dl 1285 -2920
|
||||
Dl 1171 -3320
|
||||
Dl 982 -3631
|
||||
Dl 710 -3865
|
||||
Dl 349 -4036
|
||||
Dl 179 -4082
|
||||
Dl -197 -4100
|
||||
Dl -546 -4006
|
||||
Dl -639 -3959
|
||||
Dl -881 -3774
|
||||
Dl -1056 -3508
|
||||
Dl -1150 -3316
|
||||
Dl -1150 -1281
|
||||
Dl -1262 -1095
|
||||
Dl -1314 -1016
|
||||
Dl -1453 -826
|
||||
Dl -1612 -629
|
||||
Dl -1622 -616
|
||||
Dl -1775 -422
|
||||
Dl -1887 -238
|
||||
Dl -1983 -19
|
||||
Dl -2086 281
|
||||
Dl -2109 349
|
||||
Dl -2204 591
|
||||
Dl -2300 793
|
||||
Dl -2310 812
|
||||
Dl -2400 976
|
||||
Dl -2460 1087
|
||||
Dl -2484 1146
|
||||
Dl -2519 1309
|
||||
Dl -2527 1476
|
||||
Dl -2503 1579
|
||||
Dl -2486 1643
|
||||
Dl -2536 1765
|
||||
Dl -2631 1904
|
||||
Dl -2761 1977
|
||||
Dl -2975 2009
|
||||
Dl -2990 2010
|
||||
Dl -3154 2034
|
||||
Dl -3249 2066
|
||||
Dl -3294 2122
|
||||
Dl -3338 2308
|
||||
Dl -3323 2604
|
||||
Dl -3321 2625
|
||||
Dl -3304 2811
|
||||
Dl -3316 2944
|
||||
Dl -3361 3099
|
||||
Dl -3407 3256
|
||||
Dl -3427 3451
|
||||
Dl -3365 3565
|
||||
Dl -3216 3619
|
||||
Dl -3085 3647
|
||||
Dl -2900 3701
|
||||
Dl -2717 3757
|
||||
Dl -2500 3813
|
||||
Dl -2192 3895
|
||||
Dl -1716 4063
|
||||
Dl -1618 4091
|
||||
Dl -1618 3724
|
||||
Dl -1877 3667
|
||||
Dl -2040 3621
|
||||
Dl -2194 3587
|
||||
Dl -2223 3583
|
||||
Dl -2405 3553
|
||||
Dl -2631 3514
|
||||
Dl -2857 3472
|
||||
Dl -3038 3437
|
||||
Dl -3132 3416
|
||||
Dl -3176 3385
|
||||
Dl -3212 3269
|
||||
Dl -3178 3139
|
||||
Dl -3169 3121
|
||||
Dl -3143 2964
|
||||
Dl -3148 2711
|
||||
Dl -3185 2390
|
||||
Dl -3188 2367
|
||||
Dl -3179 2222
|
||||
Dl -3088 2153
|
||||
Dl -2893 2138
|
||||
Dl -2693 2117
|
||||
Dl -2509 2005
|
||||
Dl -2421 1802
|
||||
Dl -2395 1718
|
||||
Dl -2299 1601
|
||||
Dl -2175 1580
|
||||
Dl -2092 1629
|
||||
Dl -1936 1793
|
||||
Dl -1734 2069
|
||||
Dl -1482 2464
|
||||
Dl -1128 3045
|
||||
Dl -1150 3247
|
||||
Dl -1168 3355
|
||||
Dl -1249 3572
|
||||
Dl -1367 3700
|
||||
Dl -1418 3719
|
||||
Dl -1618 3724
|
||||
Dl -1618 4091
|
||||
Dl -1549 4111
|
||||
Dl -1325 4130
|
||||
Dl -1156 4095
|
||||
Dl -1096 4057
|
||||
Dl -973 3961
|
||||
Dl -901 3905
|
||||
Dl -829 3866
|
||||
Dl -823 3866
|
||||
Dl -748 3819
|
||||
Dl -729 3806
|
||||
Dl -585 3769
|
||||
Dl -337 3745
|
||||
Dl -7 3736
|
||||
Dl 382 3744
|
||||
Dl 652 3757
|
||||
Dl 868 3774
|
||||
Dl 998 3797
|
||||
Dl 1067 3833
|
||||
Dl 1100 3885
|
||||
Dl 1142 3947
|
||||
Dl 1256 4047
|
||||
Dl 1334 4094
|
||||
Dl 1450 4125
|
||||
Dl 1632 4131
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl 3387 2800
|
||||
Dl 3383 2766
|
||||
Dl 3346 2733
|
||||
Dl 3350 2766
|
||||
Dl 3387 2800
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl 3283 2733
|
||||
Dl 3300 2716
|
||||
Dl 3283 2700
|
||||
Dl 3266 2716
|
||||
Dl 3283 2733
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl 3216 2700
|
||||
Dl 3233 2683
|
||||
Dl 3216 2666
|
||||
Dl 3200 2683
|
||||
Dl 3216 2700
|
||||
DP 0 0 0 0 9 1 21
|
||||
Dl 3129 2633
|
||||
Dl 3119 2613
|
||||
Dl 3050 2533
|
||||
Dl 2990 2474
|
||||
Dl 2937 2433
|
||||
Dl 2946 2453
|
||||
Dl 3016 2533
|
||||
Dl 3076 2591
|
||||
Dl 3129 2633
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl 2920 2400
|
||||
Dl 2916 2366
|
||||
Dl 2879 2333
|
||||
Dl 2883 2366
|
||||
Dl 2920 2400
|
||||
DP 0 0 0 0 7 1 21
|
||||
Dl 2812 2179
|
||||
Dl 2823 2175
|
||||
Dl 2825 2161
|
||||
Dl 2823 2025
|
||||
Dl 2814 2012
|
||||
Dl 2809 2100
|
||||
Dl 2812 2179
|
||||
$EndMODULE LOGO
|
||||
$EndLIBRARY
|
|
@ -0,0 +1,432 @@
|
|||
PCBNEW-LibModule-V1
|
||||
$INDEX
|
||||
LOGO
|
||||
$EndINDEX
|
||||
#
|
||||
# LOGO
|
||||
# pixmap w = 229, h = 270
|
||||
#
|
||||
$MODULE LOGO
|
||||
Po 0 0 0 15 00000000 00000000 ~~
|
||||
T0 0 4800 600 600 0 120 N I 21 "G***"
|
||||
T1 0 -4800 600 600 0 120 N I 21 "LOGO"
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl -3783 4516
|
||||
Dl -3766 -4466
|
||||
Dl 3850 -4483
|
||||
Dl -3800 -4500
|
||||
Dl -3783 4516
|
||||
DP 0 0 0 0 374 1 21
|
||||
Dl 1586 4128
|
||||
Dl 1741 4127
|
||||
Dl 1914 4087
|
||||
Dl 2086 3984
|
||||
Dl 2299 3797
|
||||
Dl 2405 3706
|
||||
Dl 2593 3565
|
||||
Dl 2790 3434
|
||||
Dl 2958 3337
|
||||
Dl 3061 3300
|
||||
Dl 3100 3266
|
||||
Dl 3141 3233
|
||||
Dl 3183 3218
|
||||
Dl 3268 3162
|
||||
Dl 3338 3098
|
||||
Dl 3343 3067
|
||||
Dl 3281 3102
|
||||
Dl 3276 3107
|
||||
Dl 3189 3159
|
||||
Dl 3027 3244
|
||||
Dl 2829 3342
|
||||
Dl 2634 3436
|
||||
Dl 2479 3505
|
||||
Dl 2402 3533
|
||||
Dl 2382 3539
|
||||
Dl 2296 3595
|
||||
Dl 2249 3627
|
||||
Dl 2059 3716
|
||||
Dl 1845 3777
|
||||
Dl 1678 3788
|
||||
Dl 1640 3780
|
||||
Dl 1454 3667
|
||||
Dl 1338 3469
|
||||
Dl 1319 3353
|
||||
Dl 1305 3143
|
||||
Dl 1299 2894
|
||||
Dl 1299 2844
|
||||
Dl 1294 2599
|
||||
Dl 1279 2454
|
||||
Dl 1251 2381
|
||||
Dl 1236 2362
|
||||
Dl 1207 2349
|
||||
Dl 1201 2444
|
||||
Dl 1189 2532
|
||||
Dl 1134 2627
|
||||
Dl 1008 2763
|
||||
Dl 936 2831
|
||||
Dl 528 3122
|
||||
Dl 80 3288
|
||||
Dl -401 3325
|
||||
Dl -608 3301
|
||||
Dl -844 3210
|
||||
Dl -1024 3038
|
||||
Dl -1134 2893
|
||||
Dl -992 2821
|
||||
Dl -954 2801
|
||||
Dl -865 2731
|
||||
Dl -839 2625
|
||||
Dl -837 2569
|
||||
Dl -862 2466
|
||||
Dl -947 2359
|
||||
Dl -1116 2214
|
||||
Dl -1179 2163
|
||||
Dl -1377 2002
|
||||
Dl -1579 1835
|
||||
Dl -1841 1616
|
||||
Dl -1824 1266
|
||||
Dl -1819 1172
|
||||
Dl -1786 912
|
||||
Dl -1724 699
|
||||
Dl -1692 618
|
||||
Dl -1583 370
|
||||
Dl -1465 134
|
||||
Dl -1367 -33
|
||||
Dl -1364 -38
|
||||
Dl -1314 -165
|
||||
Dl -1273 -345
|
||||
Dl -1257 -430
|
||||
Dl -1191 -626
|
||||
Dl -1068 -856
|
||||
Dl -980 -1011
|
||||
Dl -917 -1160
|
||||
Dl -900 -1283
|
||||
Dl -888 -1401
|
||||
Dl -868 -1420
|
||||
Dl -868 -1985
|
||||
Dl -915 -2076
|
||||
Dl -948 -2201
|
||||
Dl -966 -2388
|
||||
Dl -966 -2389
|
||||
Dl -948 -2566
|
||||
Dl -878 -2706
|
||||
Dl -813 -2784
|
||||
Dl -737 -2832
|
||||
Dl -721 -2830
|
||||
Dl -620 -2763
|
||||
Dl -512 -2643
|
||||
Dl -448 -2523
|
||||
Dl -443 -2483
|
||||
Dl -468 -2328
|
||||
Dl -511 -2224
|
||||
Dl -552 -2363
|
||||
Dl -560 -2387
|
||||
Dl -644 -2554
|
||||
Dl -745 -2602
|
||||
Dl -848 -2525
|
||||
Dl -897 -2371
|
||||
Dl -830 -2170
|
||||
Dl -817 -2147
|
||||
Dl -781 -2061
|
||||
Dl -813 -2005
|
||||
Dl -825 -1993
|
||||
Dl -868 -1985
|
||||
Dl -868 -1420
|
||||
Dl -836 -1450
|
||||
Dl -745 -1373
|
||||
Dl -541 -1197
|
||||
Dl -400 -1160
|
||||
Dl -400 -1304
|
||||
Dl -476 -1320
|
||||
Dl -477 -1322
|
||||
Dl -491 -1381
|
||||
Dl -476 -1382
|
||||
Dl -476 -1470
|
||||
Dl -650 -1498
|
||||
Dl -674 -1510
|
||||
Dl -778 -1593
|
||||
Dl -786 -1603
|
||||
Dl -817 -1655
|
||||
Dl -801 -1727
|
||||
Dl -730 -1867
|
||||
Dl -632 -2020
|
||||
Dl -543 -2102
|
||||
Dl -518 -2114
|
||||
Dl -466 -2178
|
||||
Dl -459 -2204
|
||||
Dl -368 -2255
|
||||
Dl -216 -2267
|
||||
Dl -52 -2234
|
||||
Dl 2 -2214
|
||||
Dl 26 -2228
|
||||
Dl -18 -2327
|
||||
Dl -40 -2384
|
||||
Dl -60 -2540
|
||||
Dl -51 -2589
|
||||
Dl 0 -2668
|
||||
Dl 133 -2759
|
||||
Dl 241 -2816
|
||||
Dl 411 -2854
|
||||
Dl 513 -2783
|
||||
Dl 528 -2757
|
||||
Dl 606 -2639
|
||||
Dl 638 -2586
|
||||
Dl 684 -2413
|
||||
Dl 677 -2232
|
||||
Dl 622 -2090
|
||||
Dl 526 -2032
|
||||
Dl 520 -2031
|
||||
Dl 483 -2021
|
||||
Dl 558 -1983
|
||||
Dl 616 -1953
|
||||
Dl 662 -1883
|
||||
Dl 647 -1744
|
||||
Dl 641 -1722
|
||||
Dl 532 -1594
|
||||
Dl 324 -1498
|
||||
Dl 305 -1493
|
||||
Dl 235 -1496
|
||||
Dl 269 -1559
|
||||
Dl 399 -1666
|
||||
Dl 517 -1756
|
||||
Dl 565 -1808
|
||||
Dl 552 -1831
|
||||
Dl 457 -1806
|
||||
Dl 266 -1699
|
||||
Dl 248 -1688
|
||||
Dl 55 -1585
|
||||
Dl -114 -1516
|
||||
Dl -250 -1485
|
||||
Dl -476 -1470
|
||||
Dl -476 -1382
|
||||
Dl -391 -1393
|
||||
Dl -338 -1384
|
||||
Dl -283 -1349
|
||||
Dl -309 -1323
|
||||
Dl -400 -1304
|
||||
Dl -400 -1160
|
||||
Dl -275 -1128
|
||||
Dl -171 -1130
|
||||
Dl -63 -1156
|
||||
Dl 68 -1224
|
||||
Dl 266 -1351
|
||||
Dl 418 -1450
|
||||
Dl 539 -1507
|
||||
Dl 623 -1484
|
||||
Dl 704 -1367
|
||||
Dl 815 -1145
|
||||
Dl 903 -954
|
||||
Dl 1000 -716
|
||||
Dl 1059 -536
|
||||
Dl 1100 -405
|
||||
Dl 1224 -170
|
||||
Dl 1308 -54
|
||||
Dl 1383 67
|
||||
Dl 1438 197
|
||||
Dl 1522 510
|
||||
Dl 1576 870
|
||||
Dl 1593 1222
|
||||
Dl 1567 1512
|
||||
Dl 1544 1668
|
||||
Dl 1563 1731
|
||||
Dl 1584 1788
|
||||
Dl 1572 1958
|
||||
Dl 1560 2157
|
||||
Dl 1608 2331
|
||||
Dl 1733 2423
|
||||
Dl 1883 2459
|
||||
Dl 2126 2431
|
||||
Dl 2335 2277
|
||||
Dl 2391 2209
|
||||
Dl 2531 1991
|
||||
Dl 2657 1745
|
||||
Dl 2733 1537
|
||||
Dl 2762 1168
|
||||
Dl 2694 707
|
||||
Dl 2526 166
|
||||
Dl 2414 -95
|
||||
Dl 2261 -352
|
||||
Dl 2042 -630
|
||||
Dl 2039 -634
|
||||
Dl 1815 -939
|
||||
Dl 1598 -1302
|
||||
Dl 1431 -1655
|
||||
Dl 1399 -1737
|
||||
Dl 1356 -1884
|
||||
Dl 1337 -2043
|
||||
Dl 1332 -2275
|
||||
Dl 1326 -2501
|
||||
Dl 1263 -3000
|
||||
Dl 1132 -3390
|
||||
Dl 1008 -3600
|
||||
Dl 817 -3793
|
||||
Dl 541 -3955
|
||||
Dl 354 -4037
|
||||
Dl 194 -4077
|
||||
Dl -19 -4093
|
||||
Dl -97 -4097
|
||||
Dl -266 -4095
|
||||
Dl -392 -4069
|
||||
Dl -541 -4006
|
||||
Dl -702 -3920
|
||||
Dl -910 -3735
|
||||
Dl -1069 -3466
|
||||
Dl -1169 -3249
|
||||
Dl -1150 -1249
|
||||
Dl -1325 -996
|
||||
Dl -1358 -949
|
||||
Dl -1522 -731
|
||||
Dl -1678 -538
|
||||
Dl -1734 -472
|
||||
Dl -1828 -347
|
||||
Dl -1902 -210
|
||||
Dl -1976 -24
|
||||
Dl -2068 250
|
||||
Dl -2214 634
|
||||
Dl -2433 1050
|
||||
Dl -2487 1173
|
||||
Dl -2523 1386
|
||||
Dl -2501 1563
|
||||
Dl -2490 1592
|
||||
Dl -2485 1678
|
||||
Dl -2546 1795
|
||||
Dl -2570 1831
|
||||
Dl -2659 1933
|
||||
Dl -2776 1984
|
||||
Dl -2975 2008
|
||||
Dl -2990 2009
|
||||
Dl -3154 2033
|
||||
Dl -3249 2066
|
||||
Dl -3281 2100
|
||||
Dl -3337 2285
|
||||
Dl -3323 2581
|
||||
Dl -3306 2722
|
||||
Dl -3308 2881
|
||||
Dl -3348 3059
|
||||
Dl -3393 3229
|
||||
Dl -3424 3383
|
||||
Dl -3419 3473
|
||||
Dl -3382 3534
|
||||
Dl -3358 3556
|
||||
Dl -3265 3600
|
||||
Dl -3252 3601
|
||||
Dl -3135 3627
|
||||
Dl -2962 3678
|
||||
Dl -2944 3684
|
||||
Dl -2724 3749
|
||||
Dl -2533 3800
|
||||
Dl -2391 3837
|
||||
Dl -2145 3908
|
||||
Dl -1912 3984
|
||||
Dl -1750 4046
|
||||
Dl -1700 4068
|
||||
Dl -1600 4109
|
||||
Dl -1550 4119
|
||||
Dl -1550 3783
|
||||
Dl -1727 3764
|
||||
Dl -1907 3729
|
||||
Dl -2022 3690
|
||||
Dl -2031 3686
|
||||
Dl -2142 3655
|
||||
Dl -2332 3617
|
||||
Dl -2555 3579
|
||||
Dl -2766 3550
|
||||
Dl -2913 3526
|
||||
Dl -3105 3479
|
||||
Dl -3206 3434
|
||||
Dl -3287 3323
|
||||
Dl -3247 3161
|
||||
Dl -3225 3111
|
||||
Dl -3209 3031
|
||||
Dl -3208 2908
|
||||
Dl -3222 2711
|
||||
Dl -3252 2413
|
||||
Dl -3262 2297
|
||||
Dl -3249 2202
|
||||
Dl -3195 2135
|
||||
Dl -3168 2112
|
||||
Dl -3081 2074
|
||||
Dl -2933 2076
|
||||
Dl -2752 2073
|
||||
Dl -2597 1997
|
||||
Dl -2485 1818
|
||||
Dl -2462 1769
|
||||
Dl -2348 1613
|
||||
Dl -2206 1566
|
||||
Dl -2169 1579
|
||||
Dl -2053 1669
|
||||
Dl -1908 1817
|
||||
Dl -1763 1989
|
||||
Dl -1651 2152
|
||||
Dl -1584 2266
|
||||
Dl -1463 2467
|
||||
Dl -1327 2690
|
||||
Dl -1219 2874
|
||||
Dl -1100 3138
|
||||
Dl -1071 3345
|
||||
Dl -1130 3521
|
||||
Dl -1276 3693
|
||||
Dl -1322 3727
|
||||
Dl -1470 3782
|
||||
Dl -1550 3783
|
||||
Dl -1550 4119
|
||||
Dl -1512 4126
|
||||
Dl -1332 4126
|
||||
Dl -1180 4098
|
||||
Dl -1108 4061
|
||||
Dl -976 3965
|
||||
Dl -901 3905
|
||||
Dl -829 3866
|
||||
Dl -823 3866
|
||||
Dl -748 3819
|
||||
Dl -729 3806
|
||||
Dl -585 3769
|
||||
Dl -337 3745
|
||||
Dl -7 3736
|
||||
Dl 382 3744
|
||||
Dl 646 3756
|
||||
Dl 865 3773
|
||||
Dl 997 3797
|
||||
Dl 1066 3832
|
||||
Dl 1100 3883
|
||||
Dl 1140 3955
|
||||
Dl 1313 4075
|
||||
Dl 1586 4128
|
||||
DP 0 0 0 0 5 1 21
|
||||
Dl 3050 2566
|
||||
Dl 3066 2550
|
||||
Dl 3050 2533
|
||||
Dl 3033 2550
|
||||
Dl 3050 2566
|
||||
DP 0 0 0 0 7 1 21
|
||||
Dl 2811 2149
|
||||
Dl 2823 2141
|
||||
Dl 2826 2124
|
||||
Dl 2822 2007
|
||||
Dl 2813 2000
|
||||
Dl 2808 2083
|
||||
Dl 2811 2149
|
||||
DP 0 0 0 0 14 1 21
|
||||
Dl 347 -2071
|
||||
Dl 464 -2154
|
||||
Dl 497 -2207
|
||||
Dl 530 -2389
|
||||
Dl 451 -2551
|
||||
Dl 403 -2590
|
||||
Dl 303 -2633
|
||||
Dl 232 -2607
|
||||
Dl 139 -2493
|
||||
Dl 100 -2337
|
||||
Dl 100 -2318
|
||||
Dl 125 -2186
|
||||
Dl 216 -2106
|
||||
Dl 347 -2071
|
||||
DP 0 0 0 0 7 1 21
|
||||
Dl -81 -2117
|
||||
Dl -33 -2168
|
||||
Dl -35 -2175
|
||||
Dl -100 -2199
|
||||
Dl -164 -2171
|
||||
Dl -125 -2123
|
||||
Dl -81 -2117
|
||||
$EndMODULE LOGO
|
||||
$EndLIBRARY
|
|
@ -1,101 +1,100 @@
|
|||
EESchema-LIBRARY Version 18/6/2008-08:34:30
|
||||
#
|
||||
#
|
||||
# +12V
|
||||
#
|
||||
DEF +12V #PWR 0 0 N Y 1 F N
|
||||
F0 "#PWR" 0 200 40 H I C C
|
||||
F1 "+12V" 0 150 40 H V C C
|
||||
DRAW
|
||||
P 2 0 1 0 0 60 0 0 N
|
||||
C 0 80 20 0 1 0 N
|
||||
X +12V 1 0 0 0 R 40 40 0 0 W N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# 0
|
||||
#
|
||||
DEF 0 #GND 0 0 Y Y 1 F N
|
||||
F0 "#GND" 0 -100 40 H I C C
|
||||
F1 "0" 0 -70 40 H V C C
|
||||
DRAW
|
||||
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
|
||||
X 0 1 0 0 0 R 40 40 1 1 W N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# CAP
|
||||
#
|
||||
DEF CAP C 0 10 Y Y 1 F N
|
||||
F0 "C" 100 150 50 V V C C
|
||||
F1 "CAP" 100 -150 50 V V C C
|
||||
ALIAS C
|
||||
DRAW
|
||||
P 2 0 1 0 -150 -50 150 -50 N
|
||||
P 2 0 1 0 -150 50 150 50 N
|
||||
X ~ 1 0 250 200 D 40 40 1 1 P
|
||||
X ~ 2 0 -250 200 U 40 40 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# INDUCTOR
|
||||
#
|
||||
DEF INDUCTOR L 0 0 N Y 0 F N
|
||||
F0 "L" 0 100 70 H V C C
|
||||
F1 "INDUCTOR" 0 -100 70 H V C C
|
||||
DRAW
|
||||
A -300 0 100 0 1800 0 0 0 N -200 0 -400 0
|
||||
A -100 0 100 0 1800 0 0 0 N 0 0 -200 0
|
||||
A 100 0 100 0 1800 0 0 0 N 200 0 0 0
|
||||
A 300 0 100 0 1800 0 0 0 N 400 0 200 0
|
||||
X 2 2 700 0 300 L 70 70 1 1 I
|
||||
X 1 1 -700 0 300 R 70 70 1 1 I
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# QNPN
|
||||
#
|
||||
DEF QNPN Q 0 0 Y Y 0 F N
|
||||
F0 "Q" -100 300 50 H V C C
|
||||
F1 "QNPN" -100 200 50 H V C C
|
||||
DRAW
|
||||
P 4 0 0 0 150 -150 150 -50 50 -150 150 -150 F
|
||||
P 4 0 1 0 -100 -150 0 -150 0 -150 0 -150 N
|
||||
P 2 0 0 0 0 0 150 -150 N
|
||||
P 2 0 1 0 0 0 150 150 N
|
||||
P 2 0 1 0 0 -150 0 150 N
|
||||
X C 1 150 350 200 D 40 40 1 1 P
|
||||
X B 2 -300 0 300 R 40 40 1 1 I
|
||||
X Substrat 4 -100 -350 200 U 50 20 1 1 I
|
||||
X E 3 150 -350 200 U 40 40 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# R
|
||||
#
|
||||
DEF R R 0 0 N Y 0 F N
|
||||
F0 "R" 80 0 50 V V C C
|
||||
F1 "R" 0 0 50 V V C C
|
||||
DRAW
|
||||
S -40 150 40 -150 0 1 0 N
|
||||
X ~ 1 0 250 100 D 60 60 1 1 P
|
||||
X ~ 2 0 -250 100 U 60 60 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# VSOURCE
|
||||
#
|
||||
DEF VSOURCE V 0 40 Y Y 1 F N
|
||||
F0 "V" 0 -100 60 H V C C
|
||||
F1 "VSOURCE" 0 100 60 H V C C
|
||||
DRAW
|
||||
P 3 0 1 0 -300 150 -250 250 -200 150 F
|
||||
P 2 0 1 0 -250 -250 -250 150 F
|
||||
C 0 0 400 0 1 0 N
|
||||
T 0 -320 -10 100 0 0 1 V
|
||||
X E1 1 0 700 300 D 60 60 1 1 I
|
||||
X E2 2 0 -700 300 U 60 60 1 1 I
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
#EndLibrary
|
||||
EESchema-LIBRARY Version 2.3 Date: 14/07/2010 15:02:10
|
||||
#
|
||||
# +12V
|
||||
#
|
||||
DEF +12V #PWR 0 0 N Y 1 F N
|
||||
F0 "#PWR" 0 200 40 H I C CNN
|
||||
F1 "+12V" 0 150 40 H V C CNN
|
||||
DRAW
|
||||
X +12V 1 0 0 0 R 40 40 0 0 W N
|
||||
C 0 80 20 0 1 0 N
|
||||
P 2 0 1 0 0 60 0 0 N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# 0
|
||||
#
|
||||
DEF 0 #GND 0 0 Y Y 1 F N
|
||||
F0 "#GND" 0 -100 40 H I C CNN
|
||||
F1 "0" 0 -70 40 H V C CNN
|
||||
DRAW
|
||||
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
|
||||
X 0 1 0 0 0 R 40 40 1 1 W N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# CAP
|
||||
#
|
||||
DEF CAP C 0 10 Y Y 1 F N
|
||||
F0 "C" 100 150 50 V V C CNN
|
||||
F1 "CAP" 100 -150 50 V V C CNN
|
||||
ALIAS C
|
||||
DRAW
|
||||
P 2 0 1 0 -150 -50 150 -50 N
|
||||
P 2 0 1 0 -150 50 150 50 N
|
||||
X ~ 1 0 250 200 D 40 40 1 1 P
|
||||
X ~ 2 0 -250 200 U 40 40 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# INDUCTOR
|
||||
#
|
||||
DEF INDUCTOR L 0 0 N Y 1 F N
|
||||
F0 "L" 0 100 70 H V C CNN
|
||||
F1 "INDUCTOR" 0 -100 70 H V C CNN
|
||||
DRAW
|
||||
A -300 0 100 0 1800 0 0 0 N -200 0 -400 0
|
||||
A -100 0 100 0 1800 0 0 0 N 0 0 -200 0
|
||||
A 100 0 100 0 1800 0 0 0 N 200 0 0 0
|
||||
A 300 0 100 0 1800 0 0 0 N 400 0 200 0
|
||||
X 1 1 -700 0 300 R 70 70 1 1 I
|
||||
X 2 2 700 0 300 L 70 70 1 1 I
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# QNPN
|
||||
#
|
||||
DEF QNPN Q 0 0 Y Y 1 F N
|
||||
F0 "Q" -100 300 50 H V C CNN
|
||||
F1 "QNPN" -100 200 50 H V C CNN
|
||||
DRAW
|
||||
P 2 0 0 0 0 0 150 -150 N
|
||||
P 4 0 0 0 150 -150 150 -50 50 -150 150 -150 F
|
||||
P 2 0 1 0 0 -150 0 150 N
|
||||
P 2 0 1 0 0 0 150 150 N
|
||||
P 4 0 1 0 -100 -150 0 -150 0 -150 0 -150 N
|
||||
X C 1 150 350 200 D 40 40 1 1 P
|
||||
X B 2 -300 0 300 R 40 40 1 1 I
|
||||
X E 3 150 -350 200 U 40 40 1 1 P
|
||||
X Substrat 4 -100 -350 200 U 50 20 1 1 I
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# R
|
||||
#
|
||||
DEF R R 0 0 N Y 1 F N
|
||||
F0 "R" 80 0 50 V V C CNN
|
||||
F1 "R" 0 0 50 V V C CNN
|
||||
DRAW
|
||||
S -40 150 40 -150 0 1 0 N
|
||||
X ~ 1 0 250 100 D 60 60 1 1 P
|
||||
X ~ 2 0 -250 100 U 60 60 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# VSOURCE
|
||||
#
|
||||
DEF VSOURCE V 0 40 Y Y 1 F N
|
||||
F0 "V" 0 -100 60 H V C CNN
|
||||
F1 "VSOURCE" 0 100 60 H V C CNN
|
||||
DRAW
|
||||
C 0 0 400 0 1 0 N
|
||||
T 0 -320 -10 100 0 0 1 V Normal 1 C C
|
||||
P 2 0 1 0 -250 -250 -250 150 F
|
||||
P 3 0 1 0 -300 150 -250 250 -200 150 F
|
||||
X E1 1 0 700 300 D 60 60 1 1 I
|
||||
X E2 2 0 -700 300 U 60 60 1 1 I
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
#End Library
|
|
@ -1,31 +1,30 @@
|
|||
* EESchema Netlist Version 1.1 (Spice format) creation date: 18/6/2008-08:38:03
|
||||
|
||||
.model Q2N2222 npn (bf=200)
|
||||
.AC 10 1Meg *1.2
|
||||
.DC V1 10 12 0.5
|
||||
|
||||
R12 /VOUT N-000003 22K
|
||||
R11 +12V N-000003 100
|
||||
L1 N-000003 /VOUT 100mH
|
||||
R10 N-000005 N-000004 220
|
||||
C3 N-000005 0 10uF
|
||||
C2 N-000009 0 1nF
|
||||
R8 N-000004 0 2.2K
|
||||
Q3 /VOUT N-000009 N-000004 N-000004 Q2N2222
|
||||
V2 N-000008 0 AC 0.1
|
||||
C1 /VIN N-000008 1UF
|
||||
V1 +12V 0 DC 12V
|
||||
R2 /VIN 0 10K
|
||||
R6 +12V /VIN 22K
|
||||
R5 +12V N-000012 22K
|
||||
R1 N-000012 0 10K
|
||||
R7 N-000007 0 470
|
||||
R4 +12V N-000009 1K
|
||||
R3 +12V N-000010 1K
|
||||
Q2 N-000009 N-000012 N-000007 N-000007 Q2N2222
|
||||
Q1 N-000010 /VIN N-000007 N-000007 Q2N2222
|
||||
|
||||
.print ac v(vout)
|
||||
.plot ac v(nodes) (-1,5)
|
||||
|
||||
.end
|
||||
* EESchema Netlist Version 1.1 (Spice format) creation date: 14/07/2010 20:09:58
|
||||
|
||||
|
||||
R12 /VOUT N-000010 22K
|
||||
R11 +12V N-000010 100
|
||||
L1 N-000010 /VOUT 100mH
|
||||
R10 N-000009 N-000004 220
|
||||
C3 N-000009 0 10uF
|
||||
C2 N-000008 0 1nF
|
||||
R8 N-000004 0 2.2K
|
||||
Q3 /VOUT N-000008 N-000004 N-000004 Q2N2222
|
||||
V2 N-000003 0 AC 0.1
|
||||
C1 /VIN N-000003 1UF
|
||||
V1 +12V 0 DC 12V
|
||||
R2 /VIN 0 10K
|
||||
R6 +12V /VIN 22K
|
||||
R5 +12V N-000006 22K
|
||||
R1 N-000006 0 10K
|
||||
R7 N-000005 0 470
|
||||
R4 +12V N-000008 1K
|
||||
R3 +12V N-000007 1K
|
||||
Q2 N-000008 N-000006 N-000005 N-000005 Q2N2222
|
||||
Q1 N-000007 /VIN N-000005 N-000005 Q2N2222
|
||||
|
||||
.model Q2N2222 npn (bf=200)
|
||||
.print tran v(nodes)
|
||||
.print dc v(nodes)
|
||||
.tran 10 10000 10 > pspice.dat
|
||||
|
||||
.end
|
||||
|
|
|
@ -1,391 +1,392 @@
|
|||
EESchema Schematic File Version 2
|
||||
LIBS:pspice,.\pspice.cache
|
||||
EELAYER 20 0
|
||||
EELAYER END
|
||||
$Descr A4 11700 8267
|
||||
Sheet 1 1
|
||||
Title ""
|
||||
Date "22 feb 2008"
|
||||
Rev ""
|
||||
Comp ""
|
||||
Comment1 ""
|
||||
Comment2 ""
|
||||
Comment3 ""
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
Kmarq B 8400 3300 "Warning Pin power_in non pilotée (Net 6)" F=1
|
||||
Kmarq B 7700 1000 "Warning Pin power_in non pilotée (Net 2)" F=1
|
||||
Wire Wire Line
|
||||
5300 2800 4400 2800
|
||||
Text Label 4500 2800 0 60 ~
|
||||
VIN
|
||||
Text Label 8350 2100 0 60 ~
|
||||
VOUT
|
||||
Connection ~ 9200 1800
|
||||
Wire Wire Line
|
||||
8700 1800 9200 1800
|
||||
Wire Wire Line
|
||||
8200 1800 7800 1800
|
||||
Wire Wire Line
|
||||
7800 1800 7800 1500
|
||||
$Comp
|
||||
L R R12
|
||||
U 1 1 3E9D53DA
|
||||
P 8450 1800
|
||||
F 0 "R12" V 8530 1800 50 0000 C C
|
||||
F 1 "22K" V 8450 1800 50 0000 C C
|
||||
1 8450 1800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R11
|
||||
U 1 1 3E9D4D47
|
||||
P 7700 1250
|
||||
F 0 "R11" V 7780 1250 50 0000 C C
|
||||
F 1 "100" V 7700 1250 50 0000 C C
|
||||
1 7700 1250
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
7800 1500 7700 1500
|
||||
Wire Wire Line
|
||||
7700 2100 9200 2100
|
||||
Wire Wire Line
|
||||
9200 2100 9200 1500
|
||||
$Comp
|
||||
L INDUCTOR L1
|
||||
U 1 1 3E9D4A5D
|
||||
P 8500 1500
|
||||
F 0 "L1" H 8500 1600 70 0000 C C
|
||||
F 1 "100mH" H 8500 1400 70 0000 C C
|
||||
1 8500 1500
|
||||
1 0 0 1
|
||||
$EndComp
|
||||
Text Notes 3500 1200 0 60 ~
|
||||
+gnucap .plot ac v(nodes) (-1,5)
|
||||
Connection ~ 7700 2800
|
||||
Wire Wire Line
|
||||
8250 2800 8400 2800
|
||||
Wire Wire Line
|
||||
7750 2800 7450 2800
|
||||
$Comp
|
||||
L R R10
|
||||
U 1 1 3E9D3DED
|
||||
P 8000 2800
|
||||
F 0 "R10" V 8080 2800 50 0000 C C
|
||||
F 1 "220" V 8000 2800 50 0000 C C
|
||||
1 8000 2800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND8
|
||||
U 1 1 3E9D3DE2
|
||||
P 8400 3300
|
||||
F 0 "#GND8" H 8400 3200 40 0001 C C
|
||||
F 1 "0" H 8400 3230 40 0000 C C
|
||||
1 8400 3300
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L CAP C3
|
||||
U 1 1 3E9D3DD3
|
||||
P 8400 3050
|
||||
F 0 "C3" V 8500 3200 50 0000 C C
|
||||
F 1 "10uF" V 8500 2900 50 0000 C C
|
||||
1 8400 3050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Text Notes 3500 1000 0 60 ~
|
||||
-PSPICE .DC V1 10 12 0.5
|
||||
Connection ~ 7050 2450
|
||||
Wire Wire Line
|
||||
7050 2600 7050 2450
|
||||
$Comp
|
||||
L 0 #GND7
|
||||
U 1 1 3E9D1EFF
|
||||
P 7050 3100
|
||||
F 0 "#GND7" H 7050 3000 40 0001 C C
|
||||
F 1 "0" H 7050 3030 40 0000 C C
|
||||
1 7050 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L C C2
|
||||
U 1 1 3E9D1EF8
|
||||
P 7050 2850
|
||||
F 0 "C2" V 7150 3000 50 0000 C C
|
||||
F 1 "1nF" V 7150 2700 50 0000 C C
|
||||
1 7050 2850
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Connection ~ 5750 3200
|
||||
Connection ~ 6100 3200
|
||||
Wire Wire Line
|
||||
6350 3150 6350 3200
|
||||
Wire Wire Line
|
||||
6350 3200 5500 3200
|
||||
Wire Wire Line
|
||||
5750 3200 5750 3150
|
||||
Wire Wire Line
|
||||
5500 3200 5500 3150
|
||||
Wire Wire Line
|
||||
3900 2800 3850 2800
|
||||
Wire Wire Line
|
||||
7700 2950 7700 2800
|
||||
$Comp
|
||||
L 0 #GND6
|
||||
U 1 1 32E8B852
|
||||
P 7700 3450
|
||||
F 0 "#GND6" H 7700 3350 40 0001 C C
|
||||
F 1 "0" H 7700 3380 40 0000 C C
|
||||
1 7700 3450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V6
|
||||
U 1 1 32E8B84A
|
||||
P 7700 1000
|
||||
F 0 "#+12V6" H 7700 1200 40 0001 C C
|
||||
F 1 "+12V" H 7700 1150 40 0000 C C
|
||||
1 7700 1000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R8
|
||||
U 1 1 32E8B80E
|
||||
P 7700 3200
|
||||
F 0 "R8" V 7780 3200 50 0000 C C
|
||||
F 1 "2.2K" V 7700 3200 50 0000 C C
|
||||
1 7700 3200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q3
|
||||
U 1 1 32E8B7FC
|
||||
P 7550 2450
|
||||
F 0 "Q3" H 7450 2750 50 0000 C C
|
||||
F 1 "Q2N2222" H 7450 2650 50 0000 C C
|
||||
1 7550 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
7250 2450 6100 2450
|
||||
Text Notes 3500 800 0 60 ~
|
||||
-PSPICE .model Q2N2222 npn (bf=200)
|
||||
$Comp
|
||||
L 0 #GND5
|
||||
U 1 1 32CFC469
|
||||
P 3850 4200
|
||||
F 0 "#GND5" H 3850 4100 40 0001 C C
|
||||
F 1 "0" H 3850 4130 40 0000 C C
|
||||
1 3850 4200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VSOURCE V2
|
||||
U 1 1 32CFC454
|
||||
P 3850 3500
|
||||
F 0 "V2" H 3850 3400 60 0000 C C
|
||||
F 1 "AC 0.1" H 3850 3600 60 0000 C C
|
||||
1 3850 3500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L C C1
|
||||
U 1 1 32CFC413
|
||||
P 4150 2800
|
||||
F 0 "C1" V 4250 2950 50 0000 C C
|
||||
F 1 "1UF" V 4250 2650 50 0000 C C
|
||||
1 4150 2800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
Text Notes 3500 900 0 60 ~
|
||||
-gnucap .AC 10 1Meg *1.2
|
||||
Text Notes 3500 1100 0 60 ~
|
||||
+PSPICE .print ac v(vout)
|
||||
$Comp
|
||||
L +12V #+12V5
|
||||
U 1 1 32CFC34D
|
||||
P 2850 1500
|
||||
F 0 "#+12V5" H 2850 1700 40 0001 C C
|
||||
F 1 "+12V" H 2850 1650 40 0000 C C
|
||||
1 2850 1500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND4
|
||||
U 1 1 32CFC344
|
||||
P 2850 2900
|
||||
F 0 "#GND4" H 2850 2800 40 0001 C C
|
||||
F 1 "0" H 2850 2830 40 0000 C C
|
||||
1 2850 2900
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VSOURCE V1
|
||||
U 1 1 32CFC337
|
||||
P 2850 2200
|
||||
F 0 "V1" H 2850 2100 60 0000 C C
|
||||
F 1 "DC 12V" H 2850 2300 60 0000 C C
|
||||
1 2850 2200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6100 2450 6100 2300
|
||||
Wire Wire Line
|
||||
5750 2450 5750 2300
|
||||
$Comp
|
||||
L +12V #+12V4
|
||||
U 1 1 32CFC303
|
||||
P 6700 1800
|
||||
F 0 "#+12V4" H 6700 2000 40 0001 C C
|
||||
F 1 "+12V" H 6700 1950 40 0000 C C
|
||||
1 6700 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V3
|
||||
U 1 1 32CFC2FF
|
||||
P 6100 1800
|
||||
F 0 "#+12V3" H 6100 2000 40 0001 C C
|
||||
F 1 "+12V" H 6100 1950 40 0000 C C
|
||||
1 6100 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V2
|
||||
U 1 1 32CFC2FD
|
||||
P 5750 1800
|
||||
F 0 "#+12V2" H 5750 2000 40 0001 C C
|
||||
F 1 "+12V" H 5750 1950 40 0000 C C
|
||||
1 5750 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V1
|
||||
U 1 1 32CFC2F7
|
||||
P 5100 1800
|
||||
F 0 "#+12V1" H 5100 2000 40 0001 C C
|
||||
F 1 "+12V" H 5100 1950 40 0000 C C
|
||||
1 5100 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Connection ~ 5100 2800
|
||||
Connection ~ 6700 2800
|
||||
Wire Wire Line
|
||||
6550 2800 6700 2800
|
||||
Wire Wire Line
|
||||
6700 2300 6700 3300
|
||||
Wire Wire Line
|
||||
6100 3300 6100 3150
|
||||
Wire Wire Line
|
||||
5100 2300 5100 3300
|
||||
$Comp
|
||||
L 0 #GND3
|
||||
U 1 1 32CFC2B8
|
||||
P 6700 3800
|
||||
F 0 "#GND3" H 6700 3700 40 0001 C C
|
||||
F 1 "0" H 6700 3730 40 0000 C C
|
||||
1 6700 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND2
|
||||
U 1 1 32CFC2B5
|
||||
P 5100 3800
|
||||
F 0 "#GND2" H 5100 3700 40 0001 C C
|
||||
F 1 "0" H 5100 3730 40 0000 C C
|
||||
1 5100 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R2
|
||||
U 1 1 32CFC293
|
||||
P 5100 3550
|
||||
F 0 "R2" V 5180 3550 50 0000 C C
|
||||
F 1 "10K" V 5100 3550 50 0000 C C
|
||||
1 5100 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R6
|
||||
U 1 1 32CFC288
|
||||
P 5100 2050
|
||||
F 0 "R6" V 5180 2050 50 0000 C C
|
||||
F 1 "22K" V 5100 2050 50 0000 C C
|
||||
1 5100 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R5
|
||||
U 1 1 32CFC27F
|
||||
P 6700 2050
|
||||
F 0 "R5" V 6780 2050 50 0000 C C
|
||||
F 1 "22K" V 6700 2050 50 0000 C C
|
||||
1 6700 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R1
|
||||
U 1 1 32CFC277
|
||||
P 6700 3550
|
||||
F 0 "R1" V 6780 3550 50 0000 C C
|
||||
F 1 "10K" V 6700 3550 50 0000 C C
|
||||
1 6700 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND1
|
||||
U 1 1 32CFC26C
|
||||
P 6100 3800
|
||||
F 0 "#GND1" H 6100 3700 40 0001 C C
|
||||
F 1 "0" H 6100 3730 40 0000 C C
|
||||
1 6100 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R7
|
||||
U 1 1 32CFC25A
|
||||
P 6100 3550
|
||||
F 0 "R7" V 6180 3550 50 0000 C C
|
||||
F 1 "470" V 6100 3550 50 0000 C C
|
||||
1 6100 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R4
|
||||
U 1 1 32CFC254
|
||||
P 6100 2050
|
||||
F 0 "R4" V 6180 2050 50 0000 C C
|
||||
F 1 "1K" V 6100 2050 50 0000 C C
|
||||
1 6100 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R3
|
||||
U 1 1 32CFC24C
|
||||
P 5750 2050
|
||||
F 0 "R3" V 5830 2050 50 0000 C C
|
||||
F 1 "1K" V 5750 2050 50 0000 C C
|
||||
1 5750 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q2
|
||||
U 1 1 32CFC230
|
||||
P 6250 2800
|
||||
F 0 "Q2" H 6150 3100 50 0000 C C
|
||||
F 1 "Q2N2222" H 6150 3000 50 0000 C C
|
||||
1 6250 2800
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q1
|
||||
U 1 1 32CFC227
|
||||
P 5600 2800
|
||||
F 0 "Q1" H 5500 3100 50 0000 C C
|
||||
F 1 "Q2N2222" H 5500 3000 50 0000 C C
|
||||
1 5600 2800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$EndSCHEMATC
|
||||
EESchema Schematic File Version 2 date 14/07/2010 20:10:02
|
||||
LIBS:pspice
|
||||
LIBS:pspice-cache
|
||||
EELAYER 24 0
|
||||
EELAYER END
|
||||
$Descr A4 11700 8267
|
||||
Sheet 1 1
|
||||
Title ""
|
||||
Date "14 jul 2010"
|
||||
Rev ""
|
||||
Comp ""
|
||||
Comment1 ""
|
||||
Comment2 ""
|
||||
Comment3 ""
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
Text Label 4550 2800 0 60 ~ 0
|
||||
VIN
|
||||
Text Label 8650 2100 0 60 ~ 0
|
||||
VOUT
|
||||
Wire Notes Line
|
||||
4050 6600 4050 5700
|
||||
Wire Notes Line
|
||||
4050 6600 6850 6600
|
||||
Wire Notes Line
|
||||
6850 6600 6850 5700
|
||||
Wire Notes Line
|
||||
6850 5700 4050 5700
|
||||
Wire Wire Line
|
||||
5300 2800 4400 2800
|
||||
Connection ~ 9200 1800
|
||||
Wire Wire Line
|
||||
8700 1800 9200 1800
|
||||
Wire Wire Line
|
||||
8200 1800 7800 1800
|
||||
Wire Wire Line
|
||||
7800 1800 7800 1500
|
||||
Wire Wire Line
|
||||
7800 1500 7700 1500
|
||||
Wire Wire Line
|
||||
9200 1500 9200 2100
|
||||
Connection ~ 7700 2800
|
||||
Wire Wire Line
|
||||
8250 2800 8400 2800
|
||||
Wire Wire Line
|
||||
7750 2800 7450 2800
|
||||
Connection ~ 7050 2450
|
||||
Wire Wire Line
|
||||
7050 2600 7050 2450
|
||||
Connection ~ 5750 3200
|
||||
Connection ~ 6100 3200
|
||||
Wire Wire Line
|
||||
6350 3150 6350 3200
|
||||
Wire Wire Line
|
||||
6350 3200 5500 3200
|
||||
Wire Wire Line
|
||||
5750 3150 5750 3200
|
||||
Wire Wire Line
|
||||
5500 3200 5500 3150
|
||||
Wire Wire Line
|
||||
3900 2800 3850 2800
|
||||
Wire Wire Line
|
||||
7700 2950 7700 2800
|
||||
Wire Wire Line
|
||||
7250 2450 6100 2450
|
||||
Wire Wire Line
|
||||
6100 2450 6100 2300
|
||||
Wire Wire Line
|
||||
5750 2450 5750 2300
|
||||
Connection ~ 5100 2800
|
||||
Connection ~ 6700 2800
|
||||
Wire Wire Line
|
||||
6550 2800 6700 2800
|
||||
Wire Wire Line
|
||||
6700 2300 6700 3300
|
||||
Wire Wire Line
|
||||
6100 3300 6100 3150
|
||||
Wire Wire Line
|
||||
5100 2300 5100 3300
|
||||
Wire Wire Line
|
||||
9200 2100 7700 2100
|
||||
Text Notes 4200 5900 0 60 ~ 0
|
||||
+gnucap .model Q2N2222 npn (bf=200)\n.print tran v(nodes)\n.print dc v(nodes)\n.tran 10 10000 10 > pspice.dat\n
|
||||
Text Notes 4050 5700 0 60 ~ 0
|
||||
Pspice directives using one multiline text:
|
||||
$Comp
|
||||
L R R12
|
||||
U 1 1 3E9D53DA
|
||||
P 8450 1800
|
||||
F 0 "R12" V 8530 1800 50 0000 C CNN
|
||||
F 1 "22K" V 8450 1800 50 0000 C CNN
|
||||
1 8450 1800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R11
|
||||
U 1 1 3E9D4D47
|
||||
P 7700 1250
|
||||
F 0 "R11" V 7780 1250 50 0000 C CNN
|
||||
F 1 "100" V 7700 1250 50 0000 C CNN
|
||||
1 7700 1250
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L INDUCTOR L1
|
||||
U 1 1 3E9D4A5D
|
||||
P 8500 1500
|
||||
F 0 "L1" H 8500 1600 70 0000 C CNN
|
||||
F 1 "100mH" H 8500 1350 70 0000 C CNN
|
||||
1 8500 1500
|
||||
1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R10
|
||||
U 1 1 3E9D3DED
|
||||
P 8000 2800
|
||||
F 0 "R10" V 8080 2800 50 0000 C CNN
|
||||
F 1 "220" V 8000 2800 50 0000 C CNN
|
||||
1 8000 2800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND8
|
||||
U 1 1 3E9D3DE2
|
||||
P 8400 3300
|
||||
F 0 "#GND8" H 8400 3200 40 0001 C CNN
|
||||
F 1 "0" H 8400 3230 40 0000 C CNN
|
||||
1 8400 3300
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L CAP C3
|
||||
U 1 1 3E9D3DD3
|
||||
P 8400 3050
|
||||
F 0 "C3" V 8500 3200 50 0000 C CNN
|
||||
F 1 "10uF" V 8500 2900 50 0000 C CNN
|
||||
1 8400 3050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND7
|
||||
U 1 1 3E9D1EFF
|
||||
P 7050 3100
|
||||
F 0 "#GND7" H 7050 3000 40 0001 C CNN
|
||||
F 1 "0" H 7050 3030 40 0000 C CNN
|
||||
1 7050 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L C C2
|
||||
U 1 1 3E9D1EF8
|
||||
P 7050 2850
|
||||
F 0 "C2" V 7150 3000 50 0000 C CNN
|
||||
F 1 "1nF" V 7150 2700 50 0000 C CNN
|
||||
1 7050 2850
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND6
|
||||
U 1 1 32E8B852
|
||||
P 7700 3450
|
||||
F 0 "#GND6" H 7700 3350 40 0001 C CNN
|
||||
F 1 "0" H 7700 3380 40 0000 C CNN
|
||||
1 7700 3450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V6
|
||||
U 1 1 32E8B84A
|
||||
P 7700 1000
|
||||
F 0 "#+12V6" H 7700 1200 40 0001 C CNN
|
||||
F 1 "+12V" H 7700 1150 40 0000 C CNN
|
||||
1 7700 1000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R8
|
||||
U 1 1 32E8B80E
|
||||
P 7700 3200
|
||||
F 0 "R8" V 7780 3200 50 0000 C CNN
|
||||
F 1 "2.2K" V 7700 3200 50 0000 C CNN
|
||||
1 7700 3200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q3
|
||||
U 1 1 32E8B7FC
|
||||
P 7550 2450
|
||||
F 0 "Q3" H 7450 2750 50 0000 C CNN
|
||||
F 1 "Q2N2222" H 7450 2650 50 0000 C CNN
|
||||
1 7550 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND5
|
||||
U 1 1 32CFC469
|
||||
P 3850 4200
|
||||
F 0 "#GND5" H 3850 4100 40 0001 C CNN
|
||||
F 1 "0" H 3850 4130 40 0000 C CNN
|
||||
1 3850 4200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VSOURCE V2
|
||||
U 1 1 32CFC454
|
||||
P 3850 3500
|
||||
F 0 "V2" H 3850 3400 60 0000 C CNN
|
||||
F 1 "AC 0.1" H 3850 3600 60 0000 C CNN
|
||||
1 3850 3500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L C C1
|
||||
U 1 1 32CFC413
|
||||
P 4150 2800
|
||||
F 0 "C1" V 4250 2950 50 0000 C CNN
|
||||
F 1 "1UF" V 4250 2650 50 0000 C CNN
|
||||
1 4150 2800
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V5
|
||||
U 1 1 32CFC34D
|
||||
P 2850 1500
|
||||
F 0 "#+12V5" H 2850 1700 40 0001 C CNN
|
||||
F 1 "+12V" H 2850 1650 40 0000 C CNN
|
||||
1 2850 1500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND4
|
||||
U 1 1 32CFC344
|
||||
P 2850 2900
|
||||
F 0 "#GND4" H 2850 2800 40 0001 C CNN
|
||||
F 1 "0" H 2850 2830 40 0000 C CNN
|
||||
1 2850 2900
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VSOURCE V1
|
||||
U 1 1 32CFC337
|
||||
P 2850 2200
|
||||
F 0 "V1" H 2850 2100 60 0000 C CNN
|
||||
F 1 "DC 12V" H 2850 2300 60 0000 C CNN
|
||||
1 2850 2200
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V4
|
||||
U 1 1 32CFC303
|
||||
P 6700 1800
|
||||
F 0 "#+12V4" H 6700 2000 40 0001 C CNN
|
||||
F 1 "+12V" H 6700 1950 40 0000 C CNN
|
||||
1 6700 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V3
|
||||
U 1 1 32CFC2FF
|
||||
P 6100 1800
|
||||
F 0 "#+12V3" H 6100 2000 40 0001 C CNN
|
||||
F 1 "+12V" H 6100 1950 40 0000 C CNN
|
||||
1 6100 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V2
|
||||
U 1 1 32CFC2FD
|
||||
P 5750 1800
|
||||
F 0 "#+12V2" H 5750 2000 40 0001 C CNN
|
||||
F 1 "+12V" H 5750 1950 40 0000 C CNN
|
||||
1 5750 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +12V #+12V1
|
||||
U 1 1 32CFC2F7
|
||||
P 5100 1800
|
||||
F 0 "#+12V1" H 5100 2000 40 0001 C CNN
|
||||
F 1 "+12V" H 5100 1950 40 0000 C CNN
|
||||
1 5100 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND3
|
||||
U 1 1 32CFC2B8
|
||||
P 6700 3800
|
||||
F 0 "#GND3" H 6700 3700 40 0001 C CNN
|
||||
F 1 "0" H 6700 3730 40 0000 C CNN
|
||||
1 6700 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND2
|
||||
U 1 1 32CFC2B5
|
||||
P 5100 3800
|
||||
F 0 "#GND2" H 5100 3700 40 0001 C CNN
|
||||
F 1 "0" H 5100 3730 40 0000 C CNN
|
||||
1 5100 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R2
|
||||
U 1 1 32CFC293
|
||||
P 5100 3550
|
||||
F 0 "R2" V 5180 3550 50 0000 C CNN
|
||||
F 1 "10K" V 5100 3550 50 0000 C CNN
|
||||
1 5100 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R6
|
||||
U 1 1 32CFC288
|
||||
P 5100 2050
|
||||
F 0 "R6" V 5180 2050 50 0000 C CNN
|
||||
F 1 "22K" V 5100 2050 50 0000 C CNN
|
||||
1 5100 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R5
|
||||
U 1 1 32CFC27F
|
||||
P 6700 2050
|
||||
F 0 "R5" V 6780 2050 50 0000 C CNN
|
||||
F 1 "22K" V 6700 2050 50 0000 C CNN
|
||||
1 6700 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R1
|
||||
U 1 1 32CFC277
|
||||
P 6700 3550
|
||||
F 0 "R1" V 6780 3550 50 0000 C CNN
|
||||
F 1 "10K" V 6700 3550 50 0000 C CNN
|
||||
1 6700 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L 0 #GND1
|
||||
U 1 1 32CFC26C
|
||||
P 6100 3800
|
||||
F 0 "#GND1" H 6100 3700 40 0001 C CNN
|
||||
F 1 "0" H 6100 3730 40 0000 C CNN
|
||||
1 6100 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R7
|
||||
U 1 1 32CFC25A
|
||||
P 6100 3550
|
||||
F 0 "R7" V 6180 3550 50 0000 C CNN
|
||||
F 1 "470" V 6100 3550 50 0000 C CNN
|
||||
1 6100 3550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R4
|
||||
U 1 1 32CFC254
|
||||
P 6100 2050
|
||||
F 0 "R4" V 6180 2050 50 0000 C CNN
|
||||
F 1 "1K" V 6100 2050 50 0000 C CNN
|
||||
1 6100 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R3
|
||||
U 1 1 32CFC24C
|
||||
P 5750 2050
|
||||
F 0 "R3" V 5830 2050 50 0000 C CNN
|
||||
F 1 "1K" V 5750 2050 50 0000 C CNN
|
||||
1 5750 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q2
|
||||
U 1 1 32CFC230
|
||||
P 6250 2800
|
||||
F 0 "Q2" H 6150 3100 50 0000 C CNN
|
||||
F 1 "Q2N2222" H 6150 3000 50 0000 C CNN
|
||||
1 6250 2800
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L QNPN Q1
|
||||
U 1 1 32CFC227
|
||||
P 5600 2800
|
||||
F 0 "Q1" H 5500 3100 50 0000 C CNN
|
||||
F 1 "Q2N2222" H 5500 3000 50 0000 C CNN
|
||||
1 5600 2800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$EndSCHEMATC
|
||||
|
|
|
@ -1,111 +1,110 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_edit_label_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DialogLabelEditor_Base::DialogLabelEditor_Base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bMainSizer;
|
||||
bMainSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_textControlSizer = new wxFlexGridSizer( 2, 2, 3, 3 );
|
||||
m_textControlSizer->AddGrowableCol( 1 );
|
||||
m_textControlSizer->AddGrowableRow( 0 );
|
||||
m_textControlSizer->SetFlexibleDirection( wxBOTH );
|
||||
m_textControlSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_staticText1 = new wxStaticText( this, wxID_ANY, _("&Text:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText1->Wrap( -1 );
|
||||
m_textControlSizer->Add( m_staticText1, 0, wxRIGHT, 3 );
|
||||
|
||||
wxBoxSizer* bSizeText;
|
||||
bSizeText = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_textLabelSingleLine = new wxTextCtrl( this, wxID_VALUESINGLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
||||
m_textLabelSingleLine->SetToolTip( _("Enter the text to be used within the schematic") );
|
||||
|
||||
bSizeText->Add( m_textLabelSingleLine, 0, wxEXPAND|wxLEFT, 3 );
|
||||
|
||||
m_textLabelMultiLine = new wxTextCtrl( this, wxID_VALUEMULTI, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_PROCESS_ENTER );
|
||||
m_textLabelMultiLine->SetToolTip( _("Enter the text to be used within the schematic") );
|
||||
m_textLabelMultiLine->SetMinSize( wxSize( -1,60 ) );
|
||||
|
||||
bSizeText->Add( m_textLabelMultiLine, 1, wxEXPAND|wxLEFT, 3 );
|
||||
|
||||
m_textControlSizer->Add( bSizeText, 1, wxEXPAND, 3 );
|
||||
|
||||
m_SizeTitle = new wxStaticText( this, wxID_ANY, _("&Size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SizeTitle->Wrap( -1 );
|
||||
m_textControlSizer->Add( m_SizeTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 );
|
||||
|
||||
wxBoxSizer* bSizeCtrlSizer;
|
||||
bSizeCtrlSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_TextSize = new wxTextCtrl( this, wxID_SIZE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizeCtrlSizer->Add( m_TextSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_staticSizeUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticSizeUnits->Wrap( -1 );
|
||||
bSizeCtrlSizer->Add( m_staticSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 3 );
|
||||
|
||||
m_textControlSizer->Add( bSizeCtrlSizer, 1, wxEXPAND, 3 );
|
||||
|
||||
bMainSizer->Add( m_textControlSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 12 );
|
||||
|
||||
wxBoxSizer* m_OptionsSizer;
|
||||
m_OptionsSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxString m_TextOrientChoices[] = { _("Right"), _("Up"), _("Left"), _("Down") };
|
||||
int m_TextOrientNChoices = sizeof( m_TextOrientChoices ) / sizeof( wxString );
|
||||
m_TextOrient = new wxRadioBox( this, wxID_ANY, _("O&rietation"), wxDefaultPosition, wxDefaultSize, m_TextOrientNChoices, m_TextOrientChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextOrient->SetSelection( 0 );
|
||||
m_OptionsSizer->Add( m_TextOrient, 1, wxRIGHT|wxTOP, 3 );
|
||||
|
||||
wxString m_TextStyleChoices[] = { _("Normal"), _("Italic"), _("Bold"), _("Bold Italic") };
|
||||
int m_TextStyleNChoices = sizeof( m_TextStyleChoices ) / sizeof( wxString );
|
||||
m_TextStyle = new wxRadioBox( this, wxID_ANY, _("St&yle"), wxDefaultPosition, wxDefaultSize, m_TextStyleNChoices, m_TextStyleChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextStyle->SetSelection( 0 );
|
||||
m_OptionsSizer->Add( m_TextStyle, 1, wxLEFT|wxRIGHT|wxTOP, 3 );
|
||||
|
||||
wxString m_TextShapeChoices[] = { _("Input"), _("Output"), _("Bidirectional"), _("Tri-State"), _("Passive") };
|
||||
int m_TextShapeNChoices = sizeof( m_TextShapeChoices ) / sizeof( wxString );
|
||||
m_TextShape = new wxRadioBox( this, wxID_ANY, _("S&hape"), wxDefaultPosition, wxDefaultSize, m_TextShapeNChoices, m_TextShapeChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextShape->SetSelection( 2 );
|
||||
m_OptionsSizer->Add( m_TextShape, 1, wxALL|wxLEFT|wxTOP, 3 );
|
||||
|
||||
bMainSizer->Add( m_OptionsSizer, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 12 );
|
||||
|
||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1OK );
|
||||
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
|
||||
m_sdbSizer1->Realize();
|
||||
bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 12 );
|
||||
|
||||
this->SetSizer( bMainSizer );
|
||||
this->Layout();
|
||||
|
||||
// Connect Events
|
||||
m_textLabelSingleLine->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_textLabelMultiLine->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnCancelClick ), NULL, this );
|
||||
m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnOkClick ), NULL, this );
|
||||
}
|
||||
|
||||
DialogLabelEditor_Base::~DialogLabelEditor_Base()
|
||||
{
|
||||
// Disconnect Events
|
||||
m_textLabelSingleLine->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_textLabelMultiLine->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnCancelClick ), NULL, this );
|
||||
m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnOkClick ), NULL, this );
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_edit_label_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DialogLabelEditor_Base::DialogLabelEditor_Base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bMainSizer;
|
||||
bMainSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_textControlSizer = new wxFlexGridSizer( 2, 2, 3, 3 );
|
||||
m_textControlSizer->AddGrowableCol( 1 );
|
||||
m_textControlSizer->AddGrowableRow( 0 );
|
||||
m_textControlSizer->SetFlexibleDirection( wxBOTH );
|
||||
m_textControlSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_staticText1 = new wxStaticText( this, wxID_ANY, _("&Text:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText1->Wrap( -1 );
|
||||
m_staticText1->SetToolTip( _("Enter the text to be used within the schematic") );
|
||||
|
||||
m_textControlSizer->Add( m_staticText1, 0, wxRIGHT, 3 );
|
||||
|
||||
wxBoxSizer* bSizeText;
|
||||
bSizeText = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_textLabelSingleLine = new wxTextCtrl( this, wxID_VALUESINGLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
||||
bSizeText->Add( m_textLabelSingleLine, 0, wxEXPAND|wxLEFT, 3 );
|
||||
|
||||
m_textLabelMultiLine = new wxTextCtrl( this, wxID_VALUEMULTI, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_PROCESS_ENTER );
|
||||
m_textLabelMultiLine->SetMinSize( wxSize( -1,60 ) );
|
||||
|
||||
bSizeText->Add( m_textLabelMultiLine, 1, wxEXPAND|wxLEFT, 3 );
|
||||
|
||||
m_textControlSizer->Add( bSizeText, 1, wxEXPAND, 3 );
|
||||
|
||||
m_SizeTitle = new wxStaticText( this, wxID_ANY, _("&Size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_SizeTitle->Wrap( -1 );
|
||||
m_textControlSizer->Add( m_SizeTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 );
|
||||
|
||||
wxBoxSizer* bSizeCtrlSizer;
|
||||
bSizeCtrlSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_TextSize = new wxTextCtrl( this, wxID_SIZE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizeCtrlSizer->Add( m_TextSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_staticSizeUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticSizeUnits->Wrap( -1 );
|
||||
bSizeCtrlSizer->Add( m_staticSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 3 );
|
||||
|
||||
m_textControlSizer->Add( bSizeCtrlSizer, 1, wxEXPAND, 3 );
|
||||
|
||||
bMainSizer->Add( m_textControlSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 12 );
|
||||
|
||||
wxBoxSizer* m_OptionsSizer;
|
||||
m_OptionsSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxString m_TextOrientChoices[] = { _("Right"), _("Up"), _("Left"), _("Down") };
|
||||
int m_TextOrientNChoices = sizeof( m_TextOrientChoices ) / sizeof( wxString );
|
||||
m_TextOrient = new wxRadioBox( this, wxID_ANY, _("O&rientation"), wxDefaultPosition, wxDefaultSize, m_TextOrientNChoices, m_TextOrientChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextOrient->SetSelection( 0 );
|
||||
m_OptionsSizer->Add( m_TextOrient, 1, wxRIGHT|wxTOP, 3 );
|
||||
|
||||
wxString m_TextStyleChoices[] = { _("Normal"), _("Italic"), _("Bold"), _("Bold Italic") };
|
||||
int m_TextStyleNChoices = sizeof( m_TextStyleChoices ) / sizeof( wxString );
|
||||
m_TextStyle = new wxRadioBox( this, wxID_ANY, _("St&yle"), wxDefaultPosition, wxDefaultSize, m_TextStyleNChoices, m_TextStyleChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextStyle->SetSelection( 0 );
|
||||
m_OptionsSizer->Add( m_TextStyle, 1, wxLEFT|wxRIGHT|wxTOP, 3 );
|
||||
|
||||
wxString m_TextShapeChoices[] = { _("Input"), _("Output"), _("Bidirectional"), _("Tri-State"), _("Passive") };
|
||||
int m_TextShapeNChoices = sizeof( m_TextShapeChoices ) / sizeof( wxString );
|
||||
m_TextShape = new wxRadioBox( this, wxID_ANY, _("S&hape"), wxDefaultPosition, wxDefaultSize, m_TextShapeNChoices, m_TextShapeChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_TextShape->SetSelection( 0 );
|
||||
m_OptionsSizer->Add( m_TextShape, 1, wxALL|wxLEFT|wxTOP, 3 );
|
||||
|
||||
bMainSizer->Add( m_OptionsSizer, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 12 );
|
||||
|
||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1OK );
|
||||
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
|
||||
m_sdbSizer1->Realize();
|
||||
bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 12 );
|
||||
|
||||
this->SetSizer( bMainSizer );
|
||||
this->Layout();
|
||||
|
||||
// Connect Events
|
||||
m_textLabelSingleLine->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_textLabelMultiLine->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnCancelClick ), NULL, this );
|
||||
m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnOkClick ), NULL, this );
|
||||
}
|
||||
|
||||
DialogLabelEditor_Base::~DialogLabelEditor_Base()
|
||||
{
|
||||
// Disconnect Events
|
||||
m_textLabelSingleLine->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_textLabelMultiLine->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DialogLabelEditor_Base::OnEnterKey ), NULL, this );
|
||||
m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnCancelClick ), NULL, this );
|
||||
m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DialogLabelEditor_Base::OnOkClick ), NULL, this );
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,68 +1,68 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __dialog_edit_label_base__
|
||||
#define __dialog_edit_label_base__
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DialogLabelEditor_Base
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DialogLabelEditor_Base : public wxDialog
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
wxID_VALUESINGLE = 1000,
|
||||
wxID_VALUEMULTI,
|
||||
wxID_SIZE,
|
||||
};
|
||||
|
||||
wxFlexGridSizer* m_textControlSizer;
|
||||
wxStaticText* m_staticText1;
|
||||
wxTextCtrl* m_textLabelSingleLine;
|
||||
wxTextCtrl* m_textLabelMultiLine;
|
||||
wxStaticText* m_SizeTitle;
|
||||
wxTextCtrl* m_TextSize;
|
||||
wxStaticText* m_staticSizeUnits;
|
||||
wxRadioBox* m_TextOrient;
|
||||
wxRadioBox* m_TextStyle;
|
||||
wxRadioBox* m_TextShape;
|
||||
wxStdDialogButtonSizer* m_sdbSizer1;
|
||||
wxButton* m_sdbSizer1OK;
|
||||
wxButton* m_sdbSizer1Cancel;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnEnterKey( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
DialogLabelEditor_Base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Text Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 359,347 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DialogLabelEditor_Base();
|
||||
|
||||
};
|
||||
|
||||
#endif //__dialog_edit_label_base__
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __dialog_edit_label_base__
|
||||
#define __dialog_edit_label_base__
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DialogLabelEditor_Base
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DialogLabelEditor_Base : public wxDialog
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
wxID_VALUESINGLE = 1000,
|
||||
wxID_VALUEMULTI,
|
||||
wxID_SIZE,
|
||||
};
|
||||
|
||||
wxFlexGridSizer* m_textControlSizer;
|
||||
wxStaticText* m_staticText1;
|
||||
wxTextCtrl* m_textLabelSingleLine;
|
||||
wxTextCtrl* m_textLabelMultiLine;
|
||||
wxStaticText* m_SizeTitle;
|
||||
wxTextCtrl* m_TextSize;
|
||||
wxStaticText* m_staticSizeUnits;
|
||||
wxRadioBox* m_TextOrient;
|
||||
wxRadioBox* m_TextStyle;
|
||||
wxRadioBox* m_TextShape;
|
||||
wxStdDialogButtonSizer* m_sdbSizer1;
|
||||
wxButton* m_sdbSizer1OK;
|
||||
wxButton* m_sdbSizer1Cancel;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnEnterKey( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
DialogLabelEditor_Base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Text Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 359,347 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DialogLabelEditor_Base();
|
||||
|
||||
};
|
||||
|
||||
#endif //__dialog_edit_label_base__
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
// Global variables
|
||||
|
||||
int g_OptNetListUseNames; /* TRUE to use names rather than net
|
||||
bool g_OptNetListUseNames; /* TRUE to use names rather than net
|
||||
* The numbers (PSPICE netlist only) */
|
||||
SCH_ITEM* g_ItemToRepeat; /* Pointer to the last structure
|
||||
* for duplicatation by the repeat command.
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#include "fctsys.h"
|
||||
#include "appl_wxstruct.h"
|
||||
#include "gr_basic.h"
|
||||
#include "common.h"
|
||||
#include "eeschema_id.h"
|
||||
#include "class_drawpanel.h"
|
||||
|
@ -12,6 +11,7 @@
|
|||
#include "gestfich.h"
|
||||
#include "program.h"
|
||||
#include "general.h"
|
||||
#include "netlist.h"
|
||||
#include "protos.h"
|
||||
#include "libeditframe.h"
|
||||
#include "eeschema_config.h"
|
||||
|
@ -363,11 +363,6 @@ PARAM_CFG_ARRAY& WinEDA_SchematicFrame::GetProjectFileParameters( void )
|
|||
m_projectFileParams.push_back( new PARAM_CFG_INT( wxT( "RptLab" ),
|
||||
&g_RepeatDeltaLabel,
|
||||
1, -10, +10 ) );
|
||||
m_projectFileParams.push_back( new PARAM_CFG_WXSTRING( wxT( "SimCmd" ),
|
||||
&g_SimulatorCommandLine ) );
|
||||
m_projectFileParams.push_back( new PARAM_CFG_INT( wxT( "UseNetN" ),
|
||||
&g_OptNetListUseNames,
|
||||
0, 0, 1 ) );
|
||||
m_projectFileParams.push_back( new PARAM_CFG_INT( wxT( "LabSize" ),
|
||||
&g_DefaultTextLabelSize,
|
||||
DEFAULT_SIZE_TEXT, 0,
|
||||
|
@ -473,6 +468,8 @@ static const wxString ReplaceStringEntry( wxT( "LastReplaceString" ) );
|
|||
static const wxString FindStringHistoryEntry( wxT( "FindStringHistoryList%d" ) );
|
||||
static const wxString ReplaceStringHistoryEntry( wxT( "ReplaceStringHistoryList%d" ) );
|
||||
static const wxString FieldNamesEntry( wxT( "FieldNames" ) );
|
||||
static const wxString SpiceNetNamesEntry( wxT( "SpiceUseNetNames" ) );
|
||||
static const wxString SimulatorCommandEntry( wxT( "SimCmdLine" ) );
|
||||
|
||||
/*
|
||||
* Return the EESchema applications settings list.
|
||||
|
@ -496,7 +493,7 @@ PARAM_CFG_ARRAY& WinEDA_SchematicFrame::GetConfigurationSettings( void )
|
|||
return m_configSettings;
|
||||
|
||||
m_configSettings.push_back( new PARAM_CFG_INT( wxT( "Unite" ),
|
||||
(int*)&g_UserUnit, 0 ) );
|
||||
(int*)&g_UserUnit, 0 ) );
|
||||
m_configSettings.push_back( new PARAM_CFG_SETCOLOR( true, wxT( "ColWire" ),
|
||||
&g_LayerDescr.LayerColor[LAYER_WIRE],
|
||||
GREEN ) );
|
||||
|
@ -615,6 +612,10 @@ void WinEDA_SchematicFrame::LoadSettings()
|
|||
cfg->Read( PrintDialogHeightEntry, &tmp, -1 );
|
||||
m_printDialogSize.SetHeight( (int) tmp );
|
||||
|
||||
// Load netlists options:
|
||||
cfg->Read( SpiceNetNamesEntry, &g_OptNetListUseNames, false );
|
||||
cfg->Read( SimulatorCommandEntry, &g_SimulatorCommandLine );
|
||||
|
||||
/* Load find dialog session setting. */
|
||||
cfg->Read( FindDialogPositionXEntry, &tmp, -1 );
|
||||
m_findDialogPosition.x = (int) tmp;
|
||||
|
@ -668,6 +669,7 @@ void WinEDA_SchematicFrame::LoadSettings()
|
|||
CONV_TO_UTF8(e.errorText) );)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -700,6 +702,10 @@ void WinEDA_SchematicFrame::SaveSettings()
|
|||
cfg->Write( PrintDialogWidthEntry, m_printDialogSize.GetWidth() );
|
||||
cfg->Write( PrintDialogHeightEntry, m_printDialogSize.GetHeight() );
|
||||
|
||||
// Save netlists options:
|
||||
cfg->Write( SpiceNetNamesEntry, g_OptNetListUseNames );
|
||||
cfg->Write( SimulatorCommandEntry, g_SimulatorCommandLine );
|
||||
|
||||
/* Save find dialog session setting. */
|
||||
cfg->Write( FindDialogPositionXEntry, m_findDialogPosition.x );
|
||||
cfg->Write( FindDialogPositionYEntry, m_findDialogPosition.y );
|
||||
|
|
|
@ -249,14 +249,3 @@ void WinEDA_SchematicFrame::SaveProject()
|
|||
LibArchive( this, fn.GetFullPath() );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the number of components in the schematic.
|
||||
*
|
||||
* Power components are not included.
|
||||
*/
|
||||
|
||||
int CountCmpNumber()
|
||||
{
|
||||
return g_RootSheet->ComponentCount();
|
||||
}
|
||||
|
|
|
@ -95,9 +95,6 @@ typedef enum
|
|||
} FileSaveType;
|
||||
|
||||
|
||||
extern int g_OptNetListUseNames; /* TRUE to use names rather than
|
||||
* net numbers (PSPICE netlist
|
||||
* only) */
|
||||
extern SCH_ITEM* g_ItemToRepeat; /* Pointer to the last structure used
|
||||
* by the repeat command. NULL if no
|
||||
* item to repeat */
|
||||
|
|
|
@ -54,52 +54,60 @@ static NETLIST_OBJECT_LIST s_SortedComponentPinList;
|
|||
static wxArrayString s_ReferencesAlreadyFound;
|
||||
|
||||
|
||||
/* Create the netlist file ( Format is given by frame->m_NetlistFormat )
|
||||
* bool use_netnames is used only for Spice netlist
|
||||
/** function WriteNetListFile
|
||||
* Create the netlist file. Netlist info must be existing
|
||||
* @param aFormat = netlist format (NET_TYPE_PCBNEW ...)
|
||||
* @param aFullFileName = full netlist file name
|
||||
* @param aUse_netnames = bool. if true, use net names from labels in schematic
|
||||
* if false, use net numbers (net codes)
|
||||
* bool aUse_netnames is used only for Spice netlist
|
||||
* @return true if success.
|
||||
*/
|
||||
void WriteNetList( WinEDA_SchematicFrame* frame, const wxString& FileNameNL,
|
||||
bool use_netnames )
|
||||
bool WinEDA_SchematicFrame::WriteNetListFile( int aFormat, const wxString& aFullFileName,
|
||||
bool aUse_netnames )
|
||||
{
|
||||
FILE* f = NULL;
|
||||
|
||||
if( frame->m_NetlistFormat < NET_TYPE_CUSTOM1 )
|
||||
if( aFormat < NET_TYPE_CUSTOM1 )
|
||||
{
|
||||
if( ( f = wxFopen( FileNameNL, wxT( "wt" ) ) ) == NULL )
|
||||
if( ( f = wxFopen( aFullFileName, wxT( "wt" ) ) ) == NULL )
|
||||
{
|
||||
wxString msg = _( "Failed to create file " ) + FileNameNL;
|
||||
DisplayError( frame, msg );
|
||||
return;
|
||||
wxString msg = _( "Failed to create file " ) + aFullFileName;
|
||||
DisplayError( this, msg );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
wxBusyCursor Busy;
|
||||
|
||||
switch( frame->m_NetlistFormat )
|
||||
switch( aFormat )
|
||||
{
|
||||
case NET_TYPE_PCBNEW:
|
||||
WriteNetListPCBNEW( frame, f, TRUE );
|
||||
WriteNetListPCBNEW( this, f, TRUE );
|
||||
fclose( f );
|
||||
break;
|
||||
|
||||
case NET_TYPE_ORCADPCB2:
|
||||
WriteNetListPCBNEW( frame, f, FALSE );
|
||||
WriteNetListPCBNEW( this, f, FALSE );
|
||||
fclose( f );
|
||||
break;
|
||||
|
||||
case NET_TYPE_CADSTAR:
|
||||
WriteNetListCADSTAR( frame, f );
|
||||
WriteNetListCADSTAR( this, f );
|
||||
fclose( f );
|
||||
break;
|
||||
|
||||
case NET_TYPE_SPICE:
|
||||
WriteNetListPspice( frame, f, use_netnames );
|
||||
WriteNetListPspice( this, f, aUse_netnames );
|
||||
fclose( f );
|
||||
break;
|
||||
|
||||
default:
|
||||
Write_GENERIC_NetList( frame, FileNameNL );
|
||||
Write_GENERIC_NetList( this, aFullFileName );
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -179,8 +187,8 @@ static SCH_COMPONENT* FindNextComponentAndCreatPinList( EDA_BaseStruct* DrawList
|
|||
AddPinToComponentPinList( Component, sheet, Pin );
|
||||
}
|
||||
}
|
||||
else // Multiple parts per package: Collect all parts ans pins for
|
||||
// this reference
|
||||
else // Multiple parts per package: Collect all parts ans pins for
|
||||
// this reference
|
||||
FindAllsInstancesOfComponent( Component, Entry, sheet );
|
||||
|
||||
/* Sort Pins in s_SortedComponentPinList by pin number */
|
||||
|
@ -218,7 +226,8 @@ static wxString ReturnPinNetName( NETLIST_OBJECT* Pin, const wxString& DefaultFo
|
|||
if( !NetName.IsEmpty() )
|
||||
{
|
||||
// prefix non global labels names by the sheet path, to avoid names collisions
|
||||
if( netref->m_Type != NET_PINLABEL )
|
||||
if( ( netref->m_Type != NET_PINLABEL )
|
||||
&& ( netref->m_Type != NET_GLOBLABEL ) )
|
||||
{
|
||||
wxString lnet = NetName;
|
||||
NetName = netref->m_SheetList.PathHumanReadable();
|
||||
|
@ -387,12 +396,12 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
|
|||
SCH_SHEET_LIST SheetList;
|
||||
|
||||
for( sheet = SheetList.GetFirst();
|
||||
sheet != NULL;
|
||||
sheet = SheetList.GetNext() )
|
||||
sheet != NULL;
|
||||
sheet = SheetList.GetNext() )
|
||||
{
|
||||
for( DrawList = sheet->LastDrawList();
|
||||
DrawList != NULL;
|
||||
DrawList = DrawList->Next() )
|
||||
DrawList != NULL;
|
||||
DrawList = DrawList->Next() )
|
||||
{
|
||||
wxChar ident;
|
||||
if( DrawList->Type() != TYPE_SCH_TEXT )
|
||||
|
@ -418,6 +427,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
|
|||
}
|
||||
|
||||
text = DRAWTEXT->m_Text.AfterFirst( ' ' );
|
||||
|
||||
// First BUFYPOS_LEN char are the Y position.
|
||||
msg.Printf( wxT( "%s %s" ), bufnum, text.GetData() );
|
||||
if( ident == '+' )
|
||||
|
@ -464,7 +474,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
|
|||
NETLIST_OBJECT* Pin = s_SortedComponentPinList[ii];
|
||||
if( !Pin )
|
||||
continue;
|
||||
wxString NetName = ReturnPinNetName( Pin, wxT( "N-%.6d" ) );
|
||||
wxString NetName = ReturnPinNetName( Pin, wxT( "N-%.6d" ) );
|
||||
if( NetName.IsEmpty() )
|
||||
NetName = wxT( "?" );
|
||||
if( use_netnames )
|
||||
|
@ -481,7 +491,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
|
|||
}
|
||||
|
||||
fprintf( f, " %s\n",
|
||||
CONV_TO_UTF8( Component->GetField( VALUE )->m_Text ) );
|
||||
CONV_TO_UTF8( Component->GetField( VALUE )->m_Text ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -518,7 +528,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
char Buf[256];
|
||||
SCH_SHEET_PATH* sheet;
|
||||
EDA_BaseStruct* DrawList;
|
||||
SCH_COMPONENT* Component;
|
||||
SCH_COMPONENT* Component;
|
||||
OBJ_CMP_TO_LIST* CmpList = NULL;
|
||||
int CmpListCount = 0, CmpListSize = 1000;
|
||||
|
||||
|
@ -560,14 +570,14 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
if( CmpListCount >= CmpListSize )
|
||||
{
|
||||
CmpListSize += 1000;
|
||||
CmpList =
|
||||
CmpList =
|
||||
(OBJ_CMP_TO_LIST*) realloc( CmpList,
|
||||
sizeof(OBJ_CMP_TO_LIST)
|
||||
* CmpListSize );
|
||||
}
|
||||
CmpList[CmpListCount].m_RootCmp = Component;
|
||||
strcpy( CmpList[CmpListCount].m_Reference,
|
||||
Component->GetRef( sheet ).mb_str() );
|
||||
Component->GetRef( sheet ).mb_str() );
|
||||
CmpListCount++;
|
||||
}
|
||||
}
|
||||
|
@ -582,8 +592,8 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
|
||||
Line = Component->GetRef( sheet );
|
||||
fprintf( f, " ( %s %s",
|
||||
CONV_TO_UTF8( Component->GetPath( sheet ) ),
|
||||
CONV_TO_UTF8( FootprintName ) );
|
||||
CONV_TO_UTF8( Component->GetPath( sheet ) ),
|
||||
CONV_TO_UTF8( FootprintName ) );
|
||||
fprintf( f, " %s", CONV_TO_UTF8( Line ) );
|
||||
|
||||
Line = Component->GetField( VALUE )->m_Text;
|
||||
|
@ -610,7 +620,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
netname.Replace( wxT( " " ), wxT( "_" ) );
|
||||
|
||||
fprintf( f, " ( %4.4s %s )\n", (char*) &Pin->m_PinNum,
|
||||
CONV_TO_UTF8( netname ) );
|
||||
CONV_TO_UTF8( netname ) );
|
||||
}
|
||||
|
||||
fprintf( f, " )\n" );
|
||||
|
@ -629,7 +639,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
for( int ii = 0; ii < CmpListCount; ii++ )
|
||||
{
|
||||
Component = CmpList[ii].m_RootCmp;
|
||||
Entry = CMP_LIBRARY::FindLibraryComponent( Component->m_ChipName );
|
||||
Entry = CMP_LIBRARY::FindLibraryComponent( Component->m_ChipName );
|
||||
|
||||
//Line.Printf(_("%s"), CmpList[ii].m_Ref);
|
||||
//Line.Replace( wxT( " " ), wxT( "_" ) );
|
||||
|
@ -647,7 +657,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
|
|||
for( unsigned jj = 0; jj < Entry->m_FootprintList.GetCount(); jj++ )
|
||||
{
|
||||
fprintf( f, " %s\n",
|
||||
CONV_TO_UTF8( Entry->m_FootprintList[jj] ) );
|
||||
CONV_TO_UTF8( Entry->m_FootprintList[jj] ) );
|
||||
}
|
||||
|
||||
fprintf( f, "$endlist\n" );
|
||||
|
@ -736,6 +746,7 @@ static void EraseDuplicatePins( NETLIST_OBJECT_LIST& aPinList )
|
|||
{
|
||||
if( aPinList[jj] == NULL ) // Already removed
|
||||
continue;
|
||||
|
||||
// other pin num end of duplicate list.
|
||||
if( aPinList[idxref]->m_PinNum != aPinList[jj]->m_PinNum )
|
||||
break;
|
||||
|
@ -860,7 +871,8 @@ static void WriteGENERICListOfNets( FILE* f, NETLIST_OBJECT_LIST& aObjectsList )
|
|||
NetcodeName += wxT( "\"" );
|
||||
if( !NetName.IsEmpty() )
|
||||
{
|
||||
if( netref->m_Type != NET_PINLABEL )
|
||||
if( ( netref->m_Type != NET_PINLABEL )
|
||||
&& ( netref->m_Type != NET_GLOBLABEL ) )
|
||||
{
|
||||
// usual net name, prefix it by the sheet path
|
||||
NetcodeName += netref->m_SheetList.PathHumanReadable();
|
||||
|
@ -1037,7 +1049,8 @@ static void WriteListOfNetsCADSTAR( FILE* f, NETLIST_OBJECT_LIST& aObjectsList )
|
|||
NetcodeName = wxT( "\"" );
|
||||
if( !NetName.IsEmpty() )
|
||||
{
|
||||
if( netref->m_Type != NET_PINLABEL )
|
||||
if( ( netref->m_Type != NET_PINLABEL )
|
||||
&& ( netref->m_Type != NET_GLOBLABEL ) )
|
||||
{
|
||||
// usual net name, prefix it by the sheet path
|
||||
NetcodeName +=
|
||||
|
@ -1074,10 +1087,10 @@ static void WriteListOfNetsCADSTAR( FILE* f, NETLIST_OBJECT_LIST& aObjectsList )
|
|||
buf[4] = 0;
|
||||
str_pinnum = CONV_FROM_UTF8( buf );
|
||||
InitNetDescLine.Printf( wxT( "\n%s %s %.4s %s" ),
|
||||
GetChars(InitNetDesc),
|
||||
GetChars(refstr),
|
||||
GetChars(str_pinnum),
|
||||
GetChars(NetcodeName) );
|
||||
GetChars( InitNetDesc ),
|
||||
GetChars( refstr ),
|
||||
GetChars( str_pinnum ),
|
||||
GetChars( NetcodeName ) );
|
||||
}
|
||||
print_ter++;
|
||||
break;
|
||||
|
|
|
@ -342,6 +342,7 @@ void FindBestNetNameForEachNet( NETLIST_OBJECT_LIST& aNetItemBuffer )
|
|||
case NET_HIERLABEL:
|
||||
case NET_LABEL:
|
||||
case NET_PINLABEL:
|
||||
case NET_GLOBLABEL:
|
||||
candidates.push_back( item );
|
||||
break;
|
||||
|
||||
|
@ -368,8 +369,22 @@ static NETLIST_OBJECT* FindBestNetName( NETLIST_OBJECT_LIST& aLabelItemBuffer )
|
|||
if( aLabelItemBuffer.size() == 0 )
|
||||
return NULL;
|
||||
|
||||
int priority_order[4] =
|
||||
{ NET_LABEL, NET_HIERLABEL, NET_PINLABEL, NET_GLOBLABEL };
|
||||
|
||||
NETLIST_OBJECT*item = aLabelItemBuffer[0];
|
||||
|
||||
// Calculate item priority
|
||||
int item_priority = 0;
|
||||
for( unsigned ii = 0; ii < 4; ii++ )
|
||||
{
|
||||
if ( item->m_Type == priority_order[ii] )
|
||||
{
|
||||
item_priority = ii;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for( unsigned ii = 1; ii < aLabelItemBuffer.size(); ii++ )
|
||||
{
|
||||
NETLIST_OBJECT* candidate = aLabelItemBuffer[ii];
|
||||
|
@ -378,38 +393,23 @@ static NETLIST_OBJECT* FindBestNetName( NETLIST_OBJECT_LIST& aLabelItemBuffer )
|
|||
item = candidate;
|
||||
continue;
|
||||
}
|
||||
switch ( item->m_Type )
|
||||
// Calculate candidate priority
|
||||
int candidate_priority = 0;
|
||||
for( unsigned ii = 0; ii < 4; ii++ )
|
||||
{
|
||||
case NET_HIERLABEL:
|
||||
if( candidate->m_Type == NET_PINLABEL )
|
||||
item = candidate;
|
||||
else if( candidate->m_Type == NET_HIERLABEL )
|
||||
{
|
||||
if( candidate->m_Label.Cmp( item->m_Label ) < 0 )
|
||||
item = candidate;
|
||||
}
|
||||
if ( candidate->m_Type == priority_order[ii] )
|
||||
{
|
||||
candidate_priority = ii;
|
||||
break;
|
||||
|
||||
case NET_LABEL:
|
||||
if( candidate->m_Type == NET_LABEL )
|
||||
{
|
||||
if( candidate->m_Label.Cmp( item->m_Label ) < 0 )
|
||||
item = candidate;
|
||||
}
|
||||
else
|
||||
item = candidate;
|
||||
break;
|
||||
|
||||
case NET_PINLABEL:
|
||||
if( candidate->m_Type != NET_PINLABEL )
|
||||
break;
|
||||
if( candidate->m_Label.Cmp( item->m_Label ) < 0 )
|
||||
item = candidate;
|
||||
break;
|
||||
|
||||
default: // Should not occur.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if( candidate_priority > item_priority )
|
||||
item = candidate;
|
||||
else if( candidate_priority == item_priority )
|
||||
{
|
||||
if( candidate->m_Label.Cmp( item->m_Label ) < 0 )
|
||||
item = candidate;
|
||||
}
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ public:
|
|||
SCH_COMPONENT* m_RootCmp; // the component in schematic
|
||||
LIB_COMPONENT* m_Entry; // the source component in library
|
||||
int m_Unit; /* Selected part (For multi parts per
|
||||
* package) depending on sheet path */
|
||||
* package) depending on sheet path */
|
||||
SCH_SHEET_PATH m_SheetPath; /* the sheet path for this component */
|
||||
unsigned long m_TimeStamp; /* unique identification number
|
||||
* depending on sheet path */
|
||||
|
@ -104,11 +104,11 @@ public:
|
|||
typedef std::vector <NETLIST_OBJECT*> NETLIST_OBJECT_LIST;
|
||||
extern NETLIST_OBJECT_LIST g_NetObjectslist;
|
||||
|
||||
extern bool g_OptNetListUseNames; /* TRUE to use names rather than
|
||||
* net numbers. SPICE netlist only
|
||||
*/
|
||||
|
||||
/* Prototypes: */
|
||||
void WriteNetList( WinEDA_SchematicFrame* frame,
|
||||
const wxString& FileNameNL,
|
||||
bool use_netnames );
|
||||
void FreeNetObjectsList( std::vector <NETLIST_OBJECT*>& aNetObjectslist );
|
||||
|
||||
/** Function ReturnUserNetlistTypeName
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "netlist_control.h"
|
||||
|
||||
//Imported function:
|
||||
int TestDuplicateSheetNames(bool aCreateMarker);
|
||||
int TestDuplicateSheetNames( bool aCreateMarker );
|
||||
|
||||
// ID for configuration:
|
||||
#define CUSTOM_NETLIST_TITLE wxT( "CustomNetlistTitle" )
|
||||
|
@ -62,14 +62,14 @@ wxString ReturnUserNetlistTypeName( bool first_item )
|
|||
|
||||
|
||||
BEGIN_EVENT_TABLE( WinEDA_NetlistFrame, wxDialog )
|
||||
EVT_BUTTON( wxID_CANCEL, WinEDA_NetlistFrame::OnCancelClick )
|
||||
EVT_BUTTON( ID_CREATE_NETLIST, WinEDA_NetlistFrame::GenNetlist )
|
||||
EVT_BUTTON( ID_SETUP_PLUGIN, WinEDA_NetlistFrame::SetupPluginData )
|
||||
EVT_BUTTON( ID_DELETE_PLUGIN, WinEDA_NetlistFrame::DeletePluginPanel )
|
||||
EVT_BUTTON( ID_VALIDATE_PLUGIN, WinEDA_NetlistFrame::ValidatePluginPanel )
|
||||
EVT_CHECKBOX( ID_CURRENT_FORMAT_IS_DEFAULT,
|
||||
WinEDA_NetlistFrame::SelectNetlistType )
|
||||
EVT_BUTTON( ID_RUN_SIMULATOR, WinEDA_NetlistFrame::RunSimulator )
|
||||
EVT_BUTTON( wxID_CANCEL, WinEDA_NetlistFrame::OnCancelClick )
|
||||
EVT_BUTTON( ID_CREATE_NETLIST, WinEDA_NetlistFrame::GenNetlist )
|
||||
EVT_BUTTON( ID_SETUP_PLUGIN, WinEDA_NetlistFrame::SetupPluginData )
|
||||
EVT_BUTTON( ID_DELETE_PLUGIN, WinEDA_NetlistFrame::DeletePluginPanel )
|
||||
EVT_BUTTON( ID_VALIDATE_PLUGIN, WinEDA_NetlistFrame::ValidatePluginPanel )
|
||||
EVT_CHECKBOX( ID_CURRENT_FORMAT_IS_DEFAULT,
|
||||
WinEDA_NetlistFrame::SelectNetlistType )
|
||||
EVT_BUTTON( ID_RUN_SIMULATOR, WinEDA_NetlistFrame::RunSimulator )
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
|
@ -185,8 +185,6 @@ WinEDA_NetlistFrame::WinEDA_NetlistFrame( WinEDA_SchematicFrame* parent ) :
|
|||
m_PanelNetType[ii] = NULL;
|
||||
}
|
||||
|
||||
Centre();
|
||||
|
||||
wxBoxSizer* GeneralBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
SetSizer( GeneralBoxSizer );
|
||||
|
||||
|
@ -231,6 +229,7 @@ WinEDA_NetlistFrame::WinEDA_NetlistFrame( WinEDA_SchematicFrame* parent ) :
|
|||
|
||||
GetSizer()->Fit( this );
|
||||
GetSizer()->SetSizeHints( this );
|
||||
Centre();
|
||||
}
|
||||
|
||||
|
||||
|
@ -245,15 +244,15 @@ void WinEDA_NetlistFrame::InstallPageSpice()
|
|||
EDA_NoteBookPage* page;
|
||||
|
||||
page = m_PanelNetType[PANELSPICE] =
|
||||
new EDA_NoteBookPage( m_NoteBook,
|
||||
wxT( "Spice" ),
|
||||
NET_TYPE_SPICE,
|
||||
0, 0,
|
||||
m_Parent->m_NetlistFormat == NET_TYPE_SPICE );
|
||||
new EDA_NoteBookPage( m_NoteBook,
|
||||
wxT( "Spice" ),
|
||||
NET_TYPE_SPICE,
|
||||
0, 0,
|
||||
m_Parent->m_NetlistFormat == NET_TYPE_SPICE );
|
||||
|
||||
page->m_IsCurrentFormat =
|
||||
new wxCheckBox( page, ID_CURRENT_FORMAT_IS_DEFAULT,
|
||||
_( "Default format" ) );
|
||||
_( "Default format" ) );
|
||||
page->m_IsCurrentFormat->SetValue( m_Parent->m_NetlistFormat == NET_TYPE_SPICE );
|
||||
page->m_LeftBoxSizer->Add( page->m_IsCurrentFormat, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
|
@ -291,8 +290,8 @@ void WinEDA_NetlistFrame::InstallCustomPages()
|
|||
/* create the pages for custom netlist format selection:
|
||||
*/
|
||||
{
|
||||
bool selected;
|
||||
int ii, CustomCount;
|
||||
bool selected;
|
||||
int ii, CustomCount;
|
||||
wxString title, previoustitle, msg;
|
||||
EDA_NoteBookPage* CurrPage;
|
||||
|
||||
|
@ -381,8 +380,8 @@ void WinEDA_NetlistFrame::SetupPluginData( wxCommandEvent& event )
|
|||
wxString title = CurrPage->m_TitleStringCtrl->GetValue();
|
||||
if( title.IsEmpty() )
|
||||
DisplayInfoMessage( this,
|
||||
_( "Do not forget to choose a title for this \
|
||||
netlist control page" ) );
|
||||
_( "Do not forget to choose a title for this \
|
||||
netlist control page" ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -444,21 +443,18 @@ void WinEDA_NetlistFrame::GenNetlist( wxCommandEvent& event )
|
|||
*/
|
||||
{
|
||||
wxFileName fn;
|
||||
wxString FileWildcard, FileExt;
|
||||
wxString msg, Command;
|
||||
int netformat_tmp = m_Parent->m_NetlistFormat;
|
||||
wxString FileWildcard, FileExt;
|
||||
wxString msg, Command;
|
||||
|
||||
NetlistUpdateOpt();
|
||||
|
||||
EDA_NoteBookPage* CurrPage;
|
||||
|
||||
CurrPage = (EDA_NoteBookPage*) m_NoteBook->GetCurrentPage();
|
||||
m_Parent->m_NetlistFormat = CurrPage->m_IdNetType;
|
||||
CurrPage = (EDA_NoteBookPage*) m_NoteBook->GetCurrentPage();
|
||||
|
||||
/* Calculate the netlist filename */
|
||||
fn = g_RootSheet->m_AssociatedScreen->m_FileName;
|
||||
|
||||
switch( m_Parent->m_NetlistFormat )
|
||||
switch( CurrPage->m_IdNetType )
|
||||
{
|
||||
case NET_TYPE_SPICE:
|
||||
FileExt = wxT( "cir" );
|
||||
|
@ -480,25 +476,55 @@ void WinEDA_NetlistFrame::GenNetlist( wxCommandEvent& event )
|
|||
|
||||
wxFileDialog dlg( this, _( "Save Netlist Files" ), fn.GetPath(),
|
||||
fn.GetFullName(), FileWildcard,
|
||||
wxFD_SAVE /*| wxFD_OVERWRITE_PROMPT*/ );
|
||||
wxFD_SAVE );
|
||||
|
||||
if( dlg.ShowModal() == wxID_CANCEL )
|
||||
return;
|
||||
|
||||
m_Parent->ClearMsgPanel();
|
||||
|
||||
if( CurrPage->m_CommandStringCtrl )
|
||||
g_NetListerCommandLine = CurrPage->m_CommandStringCtrl->GetValue();
|
||||
else
|
||||
g_NetListerCommandLine.Empty();
|
||||
|
||||
m_Parent->CreateNetlist( CurrPage->m_IdNetType, dlg.GetPath(), g_OptNetListUseNames );
|
||||
|
||||
WriteCurrentNetlistSetup();
|
||||
|
||||
EndModal( NET_OK );
|
||||
}
|
||||
|
||||
|
||||
/** Function CreateNetlist
|
||||
* Create a netlist file:
|
||||
* build netlist info
|
||||
* test issues
|
||||
* create file
|
||||
* @param aFormat = netlist format (NET_TYPE_PCBNEW ...)
|
||||
* @param aFullFileName = full netlist file name
|
||||
* @param aUse_netnames = bool. if true, use net names from labels in schematic
|
||||
* if false, use net numbers (net codes)
|
||||
* bool aUse_netnames is used only for Spice netlist
|
||||
* @return true if success.
|
||||
*/
|
||||
bool WinEDA_SchematicFrame::CreateNetlist( int aFormat, const wxString& aFullFileName,
|
||||
bool aUse_netnames )
|
||||
{
|
||||
ReAnnotatePowerSymbolsOnly();
|
||||
if( m_Parent->CheckAnnotate( NULL, 0 ) )
|
||||
|
||||
// Performs some controls:
|
||||
if( CheckAnnotate( NULL, 0 ) )
|
||||
{
|
||||
if( !IsOK( this, _( "Must be Annotated, Continue ?" ) ) )
|
||||
return;
|
||||
if( !IsOK( NULL, _( "Must be Annotated, Continue ?" ) ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
// Test duplicate sheet names:
|
||||
if( TestDuplicateSheetNames(false ) > 0 )
|
||||
if( TestDuplicateSheetNames( false ) > 0 )
|
||||
{
|
||||
if( !IsOK( this, _( "Error: duplicate sheet names. Continue?" ) ) )
|
||||
return;
|
||||
if( !IsOK( NULL, _( "Error: duplicate sheet names. Continue?" ) ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Cleanup the entire hierarchy */
|
||||
|
@ -516,35 +542,10 @@ void WinEDA_NetlistFrame::GenNetlist( wxCommandEvent& event )
|
|||
screen->ClearUndoRedoList();
|
||||
}
|
||||
|
||||
m_Parent->BuildNetListBase();
|
||||
if( CurrPage->m_CommandStringCtrl )
|
||||
g_NetListerCommandLine = CurrPage->m_CommandStringCtrl->GetValue();
|
||||
else
|
||||
g_NetListerCommandLine.Empty();
|
||||
BuildNetListBase();
|
||||
bool success = WriteNetListFile( aFormat, aFullFileName, g_OptNetListUseNames );
|
||||
|
||||
switch( m_Parent->m_NetlistFormat )
|
||||
{
|
||||
default:
|
||||
WriteNetList( m_Parent, dlg.GetPath(), TRUE );
|
||||
break;
|
||||
|
||||
case NET_TYPE_CADSTAR:
|
||||
case NET_TYPE_ORCADPCB2:
|
||||
WriteNetList( m_Parent, dlg.GetPath(), FALSE );
|
||||
|
||||
case NET_TYPE_SPICE:
|
||||
g_OptNetListUseNames = TRUE; // Used for pspice, gnucap
|
||||
if( m_UseNetNamesInNetlist->GetSelection() == 1 )
|
||||
g_OptNetListUseNames = FALSE;
|
||||
WriteNetList( m_Parent, dlg.GetPath(), g_OptNetListUseNames );
|
||||
break;
|
||||
}
|
||||
|
||||
m_Parent->m_NetlistFormat = netformat_tmp;
|
||||
|
||||
WriteCurrentNetlistSetup();
|
||||
|
||||
EndModal( NET_OK );
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
|
@ -561,7 +562,7 @@ void WinEDA_NetlistFrame::RunSimulator( wxCommandEvent& event )
|
|||
/***********************************************************/
|
||||
{
|
||||
wxFileName fn;
|
||||
wxString ExecFile, CommandLine;
|
||||
wxString ExecFile, CommandLine;
|
||||
|
||||
g_SimulatorCommandLine =
|
||||
m_PanelNetType[PANELSPICE]->m_CommandStringCtrl->GetValue();
|
||||
|
@ -576,6 +577,13 @@ void WinEDA_NetlistFrame::RunSimulator( wxCommandEvent& event )
|
|||
fn.SetExt( wxT( "cir" ) );
|
||||
CommandLine += wxT( " \"" ) + fn.GetFullPath() + wxT( "\"" );
|
||||
|
||||
g_OptNetListUseNames = m_UseNetNamesInNetlist->GetSelection() == 0;
|
||||
EDA_NoteBookPage* CurrPage;
|
||||
CurrPage = (EDA_NoteBookPage*) m_NoteBook->GetCurrentPage();
|
||||
|
||||
if( ! m_Parent->CreateNetlist( CurrPage->m_IdNetType, fn.GetFullPath(), g_OptNetListUseNames ) )
|
||||
return;
|
||||
|
||||
ExecuteFile( this, ExecFile, CommandLine );
|
||||
}
|
||||
|
||||
|
@ -588,7 +596,7 @@ void WinEDA_NetlistFrame::WriteCurrentNetlistSetup( void )
|
|||
* Write the current netlist options setup in the configuration
|
||||
*/
|
||||
{
|
||||
wxString msg, Command;
|
||||
wxString msg, Command;
|
||||
wxConfig* config = wxGetApp().m_EDA_Config;
|
||||
|
||||
NetlistUpdateOpt();
|
||||
|
|
|
@ -171,11 +171,6 @@ EDA_Colors ReturnLayerColor( int Layer );
|
|||
void DisplayColorSetupFrame( WinEDA_DrawFrame* parent,
|
||||
const wxPoint& pos );
|
||||
|
||||
/*************/
|
||||
/* EELOAD.CPP */
|
||||
/*************/
|
||||
int CountCmpNumber();
|
||||
|
||||
/***************/
|
||||
/* EECONFIG.CPP */
|
||||
/***************/
|
||||
|
|
|
@ -563,8 +563,6 @@ void WinEDA_SchematicFrame::OnUpdateSelectCursor( wxUpdateUIEvent& event )
|
|||
|
||||
void WinEDA_SchematicFrame::OnUpdateUnits( wxUpdateUIEvent& event )
|
||||
{
|
||||
bool is_metric = ( g_UserUnit == MILLIMETRES ) ? true : false;
|
||||
|
||||
m_OptionsToolBar->ToggleTool( ID_TB_OPTIONS_SELECT_UNIT_MM, g_UserUnit == MILLIMETRES );
|
||||
m_OptionsToolBar->ToggleTool( ID_TB_OPTIONS_SELECT_UNIT_INCH, g_UserUnit == INCHES );
|
||||
DisplayUnitsMsg();
|
||||
|
|
|
@ -39,17 +39,16 @@ class wxFindReplaceData;
|
|||
|
||||
|
||||
/* enum used in RotationMiroir() */
|
||||
enum fl_rot_cmp
|
||||
{
|
||||
CMP_NORMAL, // Normal orientation, no rotation or mirror
|
||||
CMP_ROTATE_CLOCKWISE, // Rotate -90
|
||||
CMP_ROTATE_COUNTERCLOCKWISE, // Rotate +90
|
||||
CMP_ORIENT_0, // No rotation and no mirror id CMP_NORMAL
|
||||
CMP_ORIENT_90, // Rotate 90, no mirror
|
||||
CMP_ORIENT_180, // Rotate 180, no mirror
|
||||
CMP_ORIENT_270, // Rotate -90, no mirror
|
||||
CMP_MIRROR_X = 0x100, // Mirror around X axis
|
||||
CMP_MIRROR_Y = 0x200 // Mirror around Y axis
|
||||
enum fl_rot_cmp {
|
||||
CMP_NORMAL, // Normal orientation, no rotation or mirror
|
||||
CMP_ROTATE_CLOCKWISE, // Rotate -90
|
||||
CMP_ROTATE_COUNTERCLOCKWISE, // Rotate +90
|
||||
CMP_ORIENT_0, // No rotation and no mirror id CMP_NORMAL
|
||||
CMP_ORIENT_90, // Rotate 90, no mirror
|
||||
CMP_ORIENT_180, // Rotate 180, no mirror
|
||||
CMP_ORIENT_270, // Rotate -90, no mirror
|
||||
CMP_MIRROR_X = 0x100, // Mirror around X axis
|
||||
CMP_MIRROR_Y = 0x200 // Mirror around Y axis
|
||||
};
|
||||
|
||||
|
||||
|
@ -61,8 +60,8 @@ class WinEDA_SchematicFrame : public WinEDA_DrawFrame
|
|||
public:
|
||||
WinEDAChoiceBox* m_SelPartBox;
|
||||
SCH_SHEET_PATH* m_CurrentSheet; ///< which sheet we are presently working on.
|
||||
int m_Multiflag;
|
||||
int m_NetlistFormat;
|
||||
int m_Multiflag;
|
||||
int m_NetlistFormat;
|
||||
bool m_ShowAllPins;
|
||||
wxPoint m_OldPos;
|
||||
WinEDA_LibeditFrame* m_LibeditFrame;
|
||||
|
@ -76,7 +75,7 @@ protected:
|
|||
private:
|
||||
wxString m_DefaultSchematicFileName;
|
||||
SCH_FIELD* m_CurrentField;
|
||||
int m_TextFieldSize;
|
||||
int m_TextFieldSize;
|
||||
bool m_ShowGrid;
|
||||
PARAM_CFG_ARRAY m_projectFileParams;
|
||||
PARAM_CFG_ARRAY m_configSettings;
|
||||
|
@ -102,15 +101,15 @@ public:
|
|||
|
||||
~WinEDA_SchematicFrame();
|
||||
|
||||
void OnCloseWindow( wxCloseEvent& Event );
|
||||
void Process_Special_Functions( wxCommandEvent& event );
|
||||
void Process_Config( wxCommandEvent& event );
|
||||
void OnCloseWindow( wxCloseEvent& Event );
|
||||
void Process_Special_Functions( wxCommandEvent& event );
|
||||
void Process_Config( wxCommandEvent& event );
|
||||
|
||||
void GeneralControle( wxDC* DC, wxPoint MousePositionInPixels );
|
||||
void GeneralControle( wxDC* DC, wxPoint MousePositionInPixels );
|
||||
|
||||
PARAM_CFG_ARRAY& GetProjectFileParameters( void );
|
||||
void SaveProjectFile( wxWindow* displayframe, bool askoverwrite = true );
|
||||
bool LoadProjectFile( const wxString& CfgFileName, bool ForceRereadConfig );
|
||||
void SaveProjectFile( wxWindow* displayframe, bool askoverwrite = true );
|
||||
bool LoadProjectFile( const wxString& CfgFileName, bool ForceRereadConfig );
|
||||
|
||||
/**
|
||||
* Function GetDefaultFieldName
|
||||
|
@ -118,7 +117,7 @@ public:
|
|||
* These fieldnames are not modifiable, but template fieldnames are.
|
||||
* @param aFieldNdx The field number index
|
||||
*/
|
||||
static wxString GetDefaultFieldName( int aFieldNdx );
|
||||
static wxString GetDefaultFieldName( int aFieldNdx );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -137,6 +136,7 @@ public:
|
|||
return m_TemplateFieldNames.AddTemplateFieldName( aFieldName );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function GetTemplateFieldName
|
||||
* returns a template fieldnames list for read only access.
|
||||
|
@ -146,6 +146,7 @@ public:
|
|||
return m_TemplateFieldNames.GetTemplateFieldNames();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function DeleteAllTemplateFieldNames
|
||||
* removes all template fieldnames.
|
||||
|
@ -155,34 +156,36 @@ public:
|
|||
m_TemplateFieldNames.DeleteAllTemplateFieldNames();
|
||||
}
|
||||
|
||||
|
||||
PARAM_CFG_ARRAY& GetConfigurationSettings( void );
|
||||
void LoadSettings();
|
||||
void SaveSettings();
|
||||
void LoadSettings();
|
||||
void SaveSettings();
|
||||
|
||||
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
||||
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
||||
|
||||
void CreateScreens();
|
||||
void ReCreateHToolbar();
|
||||
void ReCreateVToolbar();
|
||||
void ReCreateOptToolbar();
|
||||
void ReCreateMenuBar();
|
||||
void OnHotKey( wxDC* DC,
|
||||
int hotkey,
|
||||
EDA_BaseStruct* DrawStruct );
|
||||
void CreateScreens();
|
||||
void ReCreateHToolbar();
|
||||
void ReCreateVToolbar();
|
||||
void ReCreateOptToolbar();
|
||||
void ReCreateMenuBar();
|
||||
void OnHotKey( wxDC* DC,
|
||||
int hotkey,
|
||||
EDA_BaseStruct* DrawStruct );
|
||||
|
||||
SCH_FIELD* GetCurrentField() { return m_CurrentField; }
|
||||
SCH_FIELD* GetCurrentField() { return m_CurrentField; }
|
||||
|
||||
void SetCurrentField( SCH_FIELD* aCurrentField )
|
||||
{
|
||||
m_CurrentField = aCurrentField;
|
||||
}
|
||||
|
||||
|
||||
/** Function OnModify()
|
||||
* Must be called after a schematic change
|
||||
* in order to set the "modify" flag of the current screen
|
||||
* and update the date in frame reference
|
||||
*/
|
||||
void OnModify( );
|
||||
void OnModify();
|
||||
|
||||
SCH_SHEET_PATH* GetSheet();
|
||||
|
||||
|
@ -202,7 +205,7 @@ public:
|
|||
|
||||
SCH_ITEM* SchematicGeneralLocateAndDisplay( bool IncludePin = TRUE );
|
||||
SCH_ITEM* SchematicGeneralLocateAndDisplay( const wxPoint& refpoint,
|
||||
bool IncludePin );
|
||||
bool IncludePin );
|
||||
|
||||
/**
|
||||
* Function FillFootprintFieldForAllInstancesofComponent
|
||||
|
@ -219,22 +222,51 @@ public:
|
|||
* components) the search is not stopped when a reference is found
|
||||
* (all instances must be found).
|
||||
*/
|
||||
bool FillFootprintFieldForAllInstancesofComponent( const wxString& aReference,
|
||||
const wxString& aFootPrint,
|
||||
bool aSetVisible );
|
||||
bool FillFootprintFieldForAllInstancesofComponent( const wxString& aReference,
|
||||
const wxString& aFootPrint,
|
||||
bool aSetVisible );
|
||||
|
||||
SCH_ITEM* FindComponentAndItem( const wxString& component_reference,
|
||||
bool Find_in_hierarchy,
|
||||
int SearchType,
|
||||
const wxString& text_to_find,
|
||||
bool mouseWarp );
|
||||
SCH_ITEM* FindComponentAndItem( const wxString& component_reference,
|
||||
bool Find_in_hierarchy,
|
||||
int SearchType,
|
||||
const wxString& text_to_find,
|
||||
bool mouseWarp );
|
||||
|
||||
/* Cross probing with pcbnew */
|
||||
void SendMessageToPCBNEW( EDA_BaseStruct* objectToSync,
|
||||
SCH_COMPONENT* LibItem );
|
||||
void SendMessageToPCBNEW( EDA_BaseStruct* objectToSync,
|
||||
SCH_COMPONENT* LibItem );
|
||||
|
||||
/* netlist generation */
|
||||
void BuildNetListBase();
|
||||
void BuildNetListBase();
|
||||
|
||||
/** Function CreateNetlist
|
||||
* Create a netlist file:
|
||||
* build netlist info
|
||||
* test issues
|
||||
* create file
|
||||
* @param aFormat = netlist format (NET_TYPE_PCBNEW ...)
|
||||
* @param aFullFileName = full netlist file name
|
||||
* @param aUse_netnames = bool. if true, use net names from labels in schematic
|
||||
* if false, use net numbers (net codes)
|
||||
* bool aUse_netnames is used only for Spice netlist
|
||||
* @return true if success.
|
||||
*/
|
||||
bool CreateNetlist( int aFormat,
|
||||
const wxString& aFullFileName,
|
||||
bool aUse_netnames );
|
||||
|
||||
/** function WriteNetListFile
|
||||
* Create the netlist file. Netlist info must be existing
|
||||
* @param aFormat = netlist format (NET_TYPE_PCBNEW ...)
|
||||
* @param aFullFileName = full netlist file name
|
||||
* @param aUse_netnames = bool. if true, use net names from labels in schematic
|
||||
* if false, use net numbers (net codes)
|
||||
* bool aUse_netnames is used only for Spice netlist
|
||||
* @return true if success.
|
||||
*/
|
||||
bool WriteNetListFile( int aFormat,
|
||||
const wxString& aFullFileName,
|
||||
bool aUse_netnames );
|
||||
|
||||
/**
|
||||
* Function DeleteAnnotation
|
||||
|
@ -244,11 +276,11 @@ public:
|
|||
* sheet only
|
||||
* @param aRedraw : true to refresh display
|
||||
*/
|
||||
void DeleteAnnotation( bool aCurrentSheetOnly, bool aRedraw );
|
||||
void DeleteAnnotation( bool aCurrentSheetOnly, bool aRedraw );
|
||||
|
||||
// Functions used for hierarchy handling
|
||||
void InstallPreviousSheet();
|
||||
void InstallNextScreen( SCH_SHEET* Sheet );
|
||||
void InstallPreviousSheet();
|
||||
void InstallNextScreen( SCH_SHEET* Sheet );
|
||||
|
||||
/** Function GetUniqueFilenameForCurrentSheet
|
||||
* @return a filename that can be used in plot and print functions
|
||||
|
@ -261,7 +293,7 @@ public:
|
|||
* and has no extension.
|
||||
* However if filename is too long name is <sheet filename>-<sheet number>
|
||||
*/
|
||||
wxString GetUniqueFilenameForCurrentSheet();
|
||||
wxString GetUniqueFilenameForCurrentSheet();
|
||||
|
||||
/**
|
||||
* Function SetSheetNumberAndCount
|
||||
|
@ -269,7 +301,7 @@ public:
|
|||
* must be called after a delete or add sheet command, and when entering
|
||||
* a sheet
|
||||
*/
|
||||
void SetSheetNumberAndCount();
|
||||
void SetSheetNumberAndCount();
|
||||
|
||||
/** Virtual function PrintPage
|
||||
* used to print a page
|
||||
|
@ -281,27 +313,30 @@ public:
|
|||
* @param aData = a pointer on an auxiliary data (not always used, NULL if not used)
|
||||
*/
|
||||
virtual void PrintPage( wxDC* aDC, bool aPrint_Sheet_Ref,
|
||||
int aPrintMask, bool aPrintMirrorMode,
|
||||
void * aData = NULL);
|
||||
int aPrintMask, bool aPrintMirrorMode,
|
||||
void* aData = NULL );
|
||||
|
||||
/**
|
||||
* Show the print dialog
|
||||
*/
|
||||
void OnPrint( wxCommandEvent& event );
|
||||
void OnPrint( wxCommandEvent& event );
|
||||
|
||||
wxPageSetupDialogData& GetPageSetupData() { return m_pageSetupData; }
|
||||
|
||||
void SetPreviewPosition( const wxPoint& aPoint ) { m_previewPosition = aPoint; }
|
||||
void SetPreviewSize( const wxSize& aSize ) { m_previewSize = aSize; }
|
||||
const wxPoint& GetPreviewPosition() { return m_previewPosition; }
|
||||
const wxSize& GetPreviewSize() { return m_previewSize; }
|
||||
const wxPoint& GetPreviewPosition() { return m_previewPosition; }
|
||||
const wxSize& GetPreviewSize() { return m_previewSize; }
|
||||
|
||||
void SetPrintDialogPosition( const wxPoint& aPoint )
|
||||
{
|
||||
m_printDialogPosition = aPoint;
|
||||
}
|
||||
|
||||
|
||||
void SetPrintDialogSize( const wxSize& aSize ) { m_printDialogSize = aSize; }
|
||||
const wxPoint& GetPrintDialogPosition() { return m_printDialogPosition; }
|
||||
const wxSize& GetPrintDialogSize() { return m_printDialogSize; }
|
||||
const wxPoint& GetPrintDialogPosition() { return m_printDialogPosition; }
|
||||
const wxSize& GetPrintDialogSize() { return m_printDialogSize; }
|
||||
|
||||
bool GetPrintMonochrome() { return m_printMonochrome; }
|
||||
void SetPrintMonochrome( bool aMonochrome ) { m_printMonochrome = aMonochrome; }
|
||||
|
@ -309,172 +344,172 @@ public:
|
|||
void SetShowSheetReference( bool aShow ) { m_showSheetReference = aShow; }
|
||||
|
||||
// Plot functions:
|
||||
void ToPlot_PS( wxCommandEvent& event );
|
||||
void ToPlot_HPGL( wxCommandEvent& event );
|
||||
void ToPlot_DXF( wxCommandEvent& event );
|
||||
void ToPostProcess( wxCommandEvent& event );
|
||||
void ToPlot_PS( wxCommandEvent& event );
|
||||
void ToPlot_HPGL( wxCommandEvent& event );
|
||||
void ToPlot_DXF( wxCommandEvent& event );
|
||||
void ToPostProcess( wxCommandEvent& event );
|
||||
|
||||
// read and save files
|
||||
void Save_File( wxCommandEvent& event );
|
||||
void SaveProject();
|
||||
bool LoadOneEEProject( const wxString& FileName, bool IsNew );
|
||||
bool LoadOneEEFile( SCH_SCREEN* screen,
|
||||
const wxString& FullFileName );
|
||||
bool ReadInputStuffFile();
|
||||
void Save_File( wxCommandEvent& event );
|
||||
void SaveProject();
|
||||
bool LoadOneEEProject( const wxString& FileName, bool IsNew );
|
||||
bool LoadOneEEFile( SCH_SCREEN* screen,
|
||||
const wxString& FullFileName );
|
||||
bool ReadInputStuffFile();
|
||||
|
||||
/**
|
||||
* Function ProcessStuffFile
|
||||
* gets footprint info from each line in the Stuff File by Ref Desg
|
||||
* @param aFilename The file to read from.
|
||||
* @param aSetFielsAttributeToVisible = true to set the footprint field
|
||||
flag to visible
|
||||
* flag to visible
|
||||
* @return bool - true if success, else true.
|
||||
*/
|
||||
bool ProcessStuffFile( FILE* aFilename,
|
||||
bool aSetFielsAttributeToVisible );
|
||||
bool ProcessStuffFile( FILE* aFilename,
|
||||
bool aSetFielsAttributeToVisible );
|
||||
|
||||
bool SaveEEFile( SCH_SCREEN* screen, int FileSave );
|
||||
bool SaveEEFile( SCH_SCREEN* screen, int FileSave );
|
||||
|
||||
// General search:
|
||||
|
||||
private:
|
||||
void Process_Move_Item( SCH_ITEM* DrawStruct, wxDC* DC );
|
||||
void OnExit( wxCommandEvent& event );
|
||||
void OnAnnotate( wxCommandEvent& event );
|
||||
void OnErc( wxCommandEvent& event );
|
||||
void OnCreateNetlist( wxCommandEvent& event );
|
||||
void OnCreateBillOfMaterials( wxCommandEvent& event );
|
||||
void OnFindItems( wxCommandEvent& event );
|
||||
void OnFindDialogClose( wxFindDialogEvent& event );
|
||||
void OnFindDrcMarker( wxFindDialogEvent& event );
|
||||
void OnFindCompnentInLib( wxFindDialogEvent& event );
|
||||
void OnFindSchematicItem( wxFindDialogEvent& event );
|
||||
void OnLoadFile( wxCommandEvent& event );
|
||||
void OnLoadStuffFile( wxCommandEvent& event );
|
||||
void OnNewProject( wxCommandEvent& event );
|
||||
void OnLoadProject( wxCommandEvent& event );
|
||||
void OnOpenPcbnew( wxCommandEvent& event );
|
||||
void OnOpenCvpcb( wxCommandEvent& event );
|
||||
void OnOpenLibraryViewer( wxCommandEvent& event );
|
||||
void OnOpenLibraryEditor( wxCommandEvent& event );
|
||||
void OnSetOptions( wxCommandEvent& event );
|
||||
void Process_Move_Item( SCH_ITEM* DrawStruct, wxDC* DC );
|
||||
void OnExit( wxCommandEvent& event );
|
||||
void OnAnnotate( wxCommandEvent& event );
|
||||
void OnErc( wxCommandEvent& event );
|
||||
void OnCreateNetlist( wxCommandEvent& event );
|
||||
void OnCreateBillOfMaterials( wxCommandEvent& event );
|
||||
void OnFindItems( wxCommandEvent& event );
|
||||
void OnFindDialogClose( wxFindDialogEvent& event );
|
||||
void OnFindDrcMarker( wxFindDialogEvent& event );
|
||||
void OnFindCompnentInLib( wxFindDialogEvent& event );
|
||||
void OnFindSchematicItem( wxFindDialogEvent& event );
|
||||
void OnLoadFile( wxCommandEvent& event );
|
||||
void OnLoadStuffFile( wxCommandEvent& event );
|
||||
void OnNewProject( wxCommandEvent& event );
|
||||
void OnLoadProject( wxCommandEvent& event );
|
||||
void OnOpenPcbnew( wxCommandEvent& event );
|
||||
void OnOpenCvpcb( wxCommandEvent& event );
|
||||
void OnOpenLibraryViewer( wxCommandEvent& event );
|
||||
void OnOpenLibraryEditor( wxCommandEvent& event );
|
||||
void OnSetOptions( wxCommandEvent& event );
|
||||
|
||||
/* edition events functions */
|
||||
void OnCopySchematicItemRequest( wxCommandEvent& event );
|
||||
void OnCopySchematicItemRequest( wxCommandEvent& event );
|
||||
|
||||
/* User interface update event handlers. */
|
||||
void OnUpdateBlockSelected( wxUpdateUIEvent& event );
|
||||
void OnUpdatePaste( wxUpdateUIEvent& event );
|
||||
void OnUpdateSchematicUndo( wxUpdateUIEvent& event );
|
||||
void OnUpdateSchematicRedo( wxUpdateUIEvent& event );
|
||||
void OnUpdateGrid( wxUpdateUIEvent& event );
|
||||
void OnUpdateUnits( wxUpdateUIEvent& event );
|
||||
void OnUpdateSelectCursor( wxUpdateUIEvent& event );
|
||||
void OnUpdateHiddenPins( wxUpdateUIEvent& event );
|
||||
void OnUpdateBusOrientation( wxUpdateUIEvent& event );
|
||||
void OnUpdateBlockSelected( wxUpdateUIEvent& event );
|
||||
void OnUpdatePaste( wxUpdateUIEvent& event );
|
||||
void OnUpdateSchematicUndo( wxUpdateUIEvent& event );
|
||||
void OnUpdateSchematicRedo( wxUpdateUIEvent& event );
|
||||
void OnUpdateGrid( wxUpdateUIEvent& event );
|
||||
void OnUpdateUnits( wxUpdateUIEvent& event );
|
||||
void OnUpdateSelectCursor( wxUpdateUIEvent& event );
|
||||
void OnUpdateHiddenPins( wxUpdateUIEvent& event );
|
||||
void OnUpdateBusOrientation( wxUpdateUIEvent& event );
|
||||
|
||||
/** function SetLanguage
|
||||
* called on a language menu selection
|
||||
*/
|
||||
void SetLanguage( wxCommandEvent& event );
|
||||
void SetLanguage( wxCommandEvent& event );
|
||||
|
||||
// Bus Entry
|
||||
SCH_BUS_ENTRY* CreateBusEntry( wxDC* DC, int entry_type );
|
||||
void SetBusEntryShape( wxDC* DC,
|
||||
SCH_BUS_ENTRY* BusEntry,
|
||||
int entry_type );
|
||||
int GetBusEntryShape( SCH_BUS_ENTRY* BusEntry );
|
||||
void StartMoveBusEntry( SCH_BUS_ENTRY* DrawLibItem,
|
||||
wxDC* DC );
|
||||
SCH_BUS_ENTRY* CreateBusEntry( wxDC* DC, int entry_type );
|
||||
void SetBusEntryShape( wxDC* DC,
|
||||
SCH_BUS_ENTRY* BusEntry,
|
||||
int entry_type );
|
||||
int GetBusEntryShape( SCH_BUS_ENTRY* BusEntry );
|
||||
void StartMoveBusEntry( SCH_BUS_ENTRY* DrawLibItem,
|
||||
wxDC* DC );
|
||||
|
||||
// NoConnect
|
||||
SCH_NO_CONNECT* CreateNewNoConnectStruct( wxDC* DC );
|
||||
SCH_NO_CONNECT* CreateNewNoConnectStruct( wxDC* DC );
|
||||
|
||||
// Junction
|
||||
SCH_JUNCTION* CreateNewJunctionStruct( wxDC* DC,
|
||||
const wxPoint& pos,
|
||||
bool PutInUndoList = FALSE );
|
||||
SCH_JUNCTION* CreateNewJunctionStruct( wxDC* DC,
|
||||
const wxPoint& pos,
|
||||
bool PutInUndoList = FALSE );
|
||||
|
||||
// Text ,label, glabel
|
||||
SCH_TEXT* CreateNewText( wxDC* DC, int type );
|
||||
void EditSchematicText( SCH_TEXT* TextStruct );
|
||||
void ChangeTextOrient( SCH_TEXT* TextStruct, wxDC* DC );
|
||||
void StartMoveTexte( SCH_TEXT* TextStruct, wxDC* DC );
|
||||
void ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newtype );
|
||||
SCH_TEXT* CreateNewText( wxDC* DC, int type );
|
||||
void EditSchematicText( SCH_TEXT* TextStruct );
|
||||
void ChangeTextOrient( SCH_TEXT* TextStruct, wxDC* DC );
|
||||
void StartMoveTexte( SCH_TEXT* TextStruct, wxDC* DC );
|
||||
void ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newtype );
|
||||
|
||||
// Wire, Bus
|
||||
void BeginSegment( wxDC* DC, int type );
|
||||
void EndSegment( wxDC* DC );
|
||||
void DeleteCurrentSegment( wxDC* DC );
|
||||
void DeleteConnection( bool DeleteFullConnection );
|
||||
void BeginSegment( wxDC* DC, int type );
|
||||
void EndSegment( wxDC* DC );
|
||||
void DeleteCurrentSegment( wxDC* DC );
|
||||
void DeleteConnection( bool DeleteFullConnection );
|
||||
|
||||
// graphic lines
|
||||
void Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
void Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC );
|
||||
void Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
DRAWSEGMENT* Begin_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
void Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
void Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC );
|
||||
void Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
DRAWSEGMENT* Begin_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||
|
||||
// Hierarchical Sheet & PinSheet
|
||||
void InstallHierarchyFrame( wxDC* DC, wxPoint& pos );
|
||||
SCH_SHEET* CreateSheet( wxDC* DC );
|
||||
void ReSizeSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
void InstallHierarchyFrame( wxDC* DC, wxPoint& pos );
|
||||
SCH_SHEET* CreateSheet( wxDC* DC );
|
||||
void ReSizeSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
|
||||
/**
|
||||
* Use the component viewer to select component to import into schematic.
|
||||
*/
|
||||
wxString SelectFromLibBrowser( void );
|
||||
wxString SelectFromLibBrowser( void );
|
||||
|
||||
public:
|
||||
bool EditSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
bool EditSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
|
||||
/** Function UpdateSheetNumberAndDate
|
||||
* Set a sheet number, the sheet count for sheets in the whole schematic
|
||||
* and update the date in all screens
|
||||
*/
|
||||
void UpdateSheetNumberAndDate();
|
||||
void UpdateSheetNumberAndDate();
|
||||
|
||||
private:
|
||||
void StartMoveSheet( SCH_SHEET* sheet, wxDC* DC );
|
||||
SCH_SHEET_PIN* Create_PinSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
int Edit_PinSheet( SCH_SHEET_PIN* SheetLabel, wxDC* DC );
|
||||
void StartMove_PinSheet( SCH_SHEET_PIN* SheetLabel,
|
||||
wxDC* DC );
|
||||
void Place_PinSheet( SCH_SHEET_PIN* SheetLabel,
|
||||
wxDC* DC );
|
||||
SCH_SHEET_PIN* Import_PinSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
void StartMoveSheet( SCH_SHEET* sheet, wxDC* DC );
|
||||
SCH_SHEET_PIN* Create_PinSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
int Edit_PinSheet( SCH_SHEET_PIN* SheetLabel, wxDC* DC );
|
||||
void StartMove_PinSheet( SCH_SHEET_PIN* SheetLabel,
|
||||
wxDC* DC );
|
||||
void Place_PinSheet( SCH_SHEET_PIN* SheetLabel,
|
||||
wxDC* DC );
|
||||
SCH_SHEET_PIN* Import_PinSheet( SCH_SHEET* Sheet, wxDC* DC );
|
||||
|
||||
public:
|
||||
void DeleteSheetLabel( bool aRedraw,
|
||||
SCH_SHEET_PIN* aSheetLabelToDel );
|
||||
void DeleteSheetLabel( bool aRedraw,
|
||||
SCH_SHEET_PIN* aSheetLabelToDel );
|
||||
|
||||
private:
|
||||
|
||||
// Component
|
||||
SCH_COMPONENT* Load_Component( wxDC* DC,
|
||||
const wxString& libname,
|
||||
wxArrayString& List,
|
||||
bool UseLibBrowser );
|
||||
void StartMovePart( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||
SCH_COMPONENT* Load_Component( wxDC* DC,
|
||||
const wxString& libname,
|
||||
wxArrayString& List,
|
||||
bool UseLibBrowser );
|
||||
void StartMovePart( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||
|
||||
public:
|
||||
void CmpRotationMiroir( SCH_COMPONENT* DrawComponent,
|
||||
wxDC* DC, int type_rotate );
|
||||
void CmpRotationMiroir( SCH_COMPONENT* DrawComponent,
|
||||
wxDC* DC, int type_rotate );
|
||||
|
||||
private:
|
||||
void SelPartUnit( SCH_COMPONENT* DrawComponent,
|
||||
int unit, wxDC* DC );
|
||||
void ConvertPart( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||
void SetInitCmp( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||
void EditComponentReference( SCH_COMPONENT* DrawLibItem,
|
||||
wxDC* DC );
|
||||
void EditComponentValue( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||
void EditComponentFootprint( SCH_COMPONENT* DrawLibItem,
|
||||
wxDC* DC );
|
||||
void StartMoveCmpField( SCH_FIELD* Field, wxDC* DC );
|
||||
void EditCmpFieldText( SCH_FIELD* Field, wxDC* DC );
|
||||
void RotateCmpField( SCH_FIELD* Field, wxDC* DC );
|
||||
void SelPartUnit( SCH_COMPONENT* DrawComponent,
|
||||
int unit, wxDC* DC );
|
||||
void ConvertPart( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||
void SetInitCmp( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||
void EditComponentReference( SCH_COMPONENT* DrawLibItem,
|
||||
wxDC* DC );
|
||||
void EditComponentValue( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||
void EditComponentFootprint( SCH_COMPONENT* DrawLibItem,
|
||||
wxDC* DC );
|
||||
void StartMoveCmpField( SCH_FIELD* Field, wxDC* DC );
|
||||
void EditCmpFieldText( SCH_FIELD* Field, wxDC* DC );
|
||||
void RotateCmpField( SCH_FIELD* Field, wxDC* DC );
|
||||
|
||||
void PasteListOfItems( wxDC* DC );
|
||||
void PasteListOfItems( wxDC* DC );
|
||||
|
||||
/* Undo - redo */
|
||||
public:
|
||||
|
@ -488,8 +523,8 @@ public:
|
|||
* for commands like move
|
||||
*/
|
||||
void SaveCopyInUndoList( SCH_ITEM* aItemToCopy,
|
||||
UndoRedoOpType aTypeCommand,
|
||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
|
||||
UndoRedoOpType aTypeCommand,
|
||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
|
||||
|
||||
/** Function SaveCopyInUndoList (overloaded).
|
||||
* Creates a new entry in undo list of commands.
|
||||
|
@ -500,10 +535,11 @@ public:
|
|||
* for commands like move
|
||||
*/
|
||||
void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList,
|
||||
UndoRedoOpType aTypeCommand,
|
||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
|
||||
UndoRedoOpType aTypeCommand,
|
||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
|
||||
|
||||
private:
|
||||
|
||||
/** Function PutDataInPreviousState()
|
||||
* Used in undo or redo command.
|
||||
* Put data pointed by List in the previous state, i.e. the state
|
||||
|
@ -512,7 +548,7 @@ private:
|
|||
* undo/redo
|
||||
* @param aRedoCommand = a bool: true for redo, false for undo
|
||||
*/
|
||||
void PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRedoCommand );
|
||||
void PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRedoCommand );
|
||||
|
||||
/** Function GetSchematicFromRedoList
|
||||
* Redo the last edition:
|
||||
|
@ -520,7 +556,7 @@ private:
|
|||
* - Get an old version of the schematic from Redo list
|
||||
* @return none
|
||||
*/
|
||||
void GetSchematicFromRedoList(wxCommandEvent& event);
|
||||
void GetSchematicFromRedoList( wxCommandEvent& event );
|
||||
|
||||
/** Function GetSchematicFromUndoList
|
||||
* Undo the last edition:
|
||||
|
@ -528,25 +564,26 @@ private:
|
|||
* - Get an old version of the schematic from Undo list
|
||||
* @return none
|
||||
*/
|
||||
void GetSchematicFromUndoList(wxCommandEvent& event);
|
||||
void GetSchematicFromUndoList( wxCommandEvent& event );
|
||||
|
||||
|
||||
public:
|
||||
void Key( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct );
|
||||
void Key( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct );
|
||||
|
||||
/* Block operations. */
|
||||
int ReturnBlockCommand( int key );
|
||||
void InitBlockPasteInfos();
|
||||
void HandleBlockPlace( wxDC* DC );
|
||||
int HandleBlockEnd( wxDC* DC );
|
||||
void HandleBlockEndByPopUp( int Command, wxDC* DC );
|
||||
int ReturnBlockCommand( int key );
|
||||
void InitBlockPasteInfos();
|
||||
void HandleBlockPlace( wxDC* DC );
|
||||
int HandleBlockEnd( wxDC* DC );
|
||||
void HandleBlockEndByPopUp( int Command, wxDC* DC );
|
||||
|
||||
void RepeatDrawItem( wxDC* DC );
|
||||
void RepeatDrawItem( wxDC* DC );
|
||||
|
||||
void TestDanglingEnds( SCH_ITEM* DrawList, wxDC* DC );
|
||||
LIB_PIN* LocatePinEnd( SCH_ITEM* DrawList, const wxPoint& pos );
|
||||
void TestDanglingEnds( SCH_ITEM* DrawList, wxDC* DC );
|
||||
LIB_PIN* LocatePinEnd( SCH_ITEM* DrawList, const wxPoint& pos );
|
||||
|
||||
// ERC:
|
||||
|
||||
/**
|
||||
* Function CheckAnnotate
|
||||
* Check errors relatives to annotation:
|
||||
|
@ -561,12 +598,12 @@ public:
|
|||
* @param aOneSheetOnly : true = search is made only in the current sheet
|
||||
* false = search in whole hierarchy (usual search).
|
||||
*/
|
||||
int CheckAnnotate( wxArrayString * aMessageList, bool aOneSheetOnly );
|
||||
int CheckAnnotate( wxArrayString* aMessageList, bool aOneSheetOnly );
|
||||
|
||||
/**
|
||||
* Load component libraries defined in project file.
|
||||
*/
|
||||
void LoadLibraries( void );
|
||||
void LoadLibraries( void );
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
|
|
@ -215,8 +215,8 @@ BEGIN_EVENT_TABLE( WinEDA_PcbFrame, WinEDA_BasePcbFrame )
|
|||
|
||||
EVT_TOOL_RANGE( ID_PCB_MUWAVE_START_CMD, ID_PCB_MUWAVE_END_CMD,
|
||||
WinEDA_PcbFrame::ProcessMuWaveFunctions )
|
||||
EVT_TOOL( ID_PCB_PLACE_GRID_COORD_BUTT,
|
||||
WinEDA_PcbFrame::Process_Special_Functions )
|
||||
EVT_TOOL( ID_PCB_PLACE_GRID_COORD_BUTT,
|
||||
WinEDA_PcbFrame::Process_Special_Functions )
|
||||
|
||||
EVT_TOOL_RCLICKED( ID_TRACK_BUTT, WinEDA_PcbFrame::ToolOnRightClick )
|
||||
EVT_TOOL_RCLICKED( ID_PCB_CIRCLE_BUTT, WinEDA_PcbFrame::ToolOnRightClick )
|
||||
|
|
|
@ -14,25 +14,25 @@
|
|||
#include "dialog_set_grid_base.h"
|
||||
|
||||
|
||||
class DIALOG_SET_GRID: public DIALOG_SET_GRID_BASE
|
||||
class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE
|
||||
{
|
||||
public:
|
||||
int m_internalUnits;
|
||||
public:
|
||||
int m_internalUnits;
|
||||
|
||||
public:
|
||||
DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos );
|
||||
~DIALOG_SET_GRID() { }
|
||||
void SetGridSize( const wxRealPoint& grid );
|
||||
wxRealPoint GetGridSize();
|
||||
void SetGridUnits( int units );
|
||||
int GetGridUnits();
|
||||
void SetGridOrigin( const wxPoint& grid );
|
||||
wxPoint GetGridOrigin();
|
||||
public:
|
||||
DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos );
|
||||
~DIALOG_SET_GRID() { }
|
||||
void SetGridSize( const wxRealPoint& grid );
|
||||
wxRealPoint GetGridSize();
|
||||
void SetGridUnits( int units );
|
||||
int GetGridUnits();
|
||||
void SetGridOrigin( const wxPoint& grid );
|
||||
wxPoint GetGridOrigin();
|
||||
|
||||
private:
|
||||
void OnResetGridOrgClick( wxCommandEvent& event );
|
||||
void OnCancelClick( wxCommandEvent& event );
|
||||
void OnOkClick( wxCommandEvent& event );
|
||||
private:
|
||||
void OnResetGridOrgClick( wxCommandEvent& event );
|
||||
void OnCancelClick( wxCommandEvent& event );
|
||||
void OnOkClick( wxCommandEvent& event );
|
||||
};
|
||||
|
||||
void WinEDA_BasePcbFrame::InstallGridFrame( const wxPoint& pos )
|
||||
|
@ -47,9 +47,9 @@ void WinEDA_BasePcbFrame::InstallGridFrame( const wxPoint& pos )
|
|||
if( dlg.ShowModal() == wxID_CANCEL )
|
||||
return;
|
||||
|
||||
m_UserGridSize = dlg.GetGridSize();
|
||||
m_UserGridUnit = (UserUnitType)dlg.GetGridUnits();
|
||||
GetScreen()->m_GridOrigin = dlg.GetGridOrigin( );
|
||||
m_UserGridSize = dlg.GetGridSize();
|
||||
m_UserGridUnit = (UserUnitType) dlg.GetGridUnits();
|
||||
GetScreen()->m_GridOrigin = dlg.GetGridOrigin();
|
||||
|
||||
GetScreen()->AddGrid( m_UserGridSize, m_UserGridUnit, ID_POPUP_GRID_USER );
|
||||
|
||||
|
@ -62,14 +62,16 @@ void WinEDA_BasePcbFrame::InstallGridFrame( const wxPoint& pos )
|
|||
}
|
||||
|
||||
|
||||
DIALOG_SET_GRID::DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos )
|
||||
: DIALOG_SET_GRID_BASE( parent )
|
||||
DIALOG_SET_GRID::DIALOG_SET_GRID( wxWindow* parent, const wxPoint& pos ) :
|
||||
DIALOG_SET_GRID_BASE( parent )
|
||||
{
|
||||
SetFocus();
|
||||
|
||||
m_TextPosXUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||
m_TextPosYUnits->SetLabel( GetUnitsLabel( g_UserUnit ) );
|
||||
|
||||
GetSizer()->SetSizeHints( this );
|
||||
Centre( );
|
||||
Centre();
|
||||
}
|
||||
|
||||
|
||||
|
@ -103,47 +105,51 @@ void DIALOG_SET_GRID::SetGridUnits( int units )
|
|||
m_UnitGrid->SetSelection( 1 );
|
||||
}
|
||||
|
||||
|
||||
int DIALOG_SET_GRID::GetGridUnits()
|
||||
{
|
||||
return m_UnitGrid->GetSelection();
|
||||
}
|
||||
|
||||
|
||||
wxPoint DIALOG_SET_GRID::GetGridOrigin()
|
||||
{
|
||||
wxPoint grid;
|
||||
|
||||
/* TODO: Some error checking here would be a good thing. */
|
||||
grid.x = ReturnValueFromTextCtrl( *m_GridOriginXCtrl, m_internalUnits );
|
||||
grid.y = ReturnValueFromTextCtrl( *m_GridOriginYCtrl, m_internalUnits );
|
||||
grid.x = ReturnValueFromTextCtrl( *m_GridOriginXCtrl, m_internalUnits );
|
||||
grid.y = ReturnValueFromTextCtrl( *m_GridOriginYCtrl, m_internalUnits );
|
||||
|
||||
return grid;
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::SetGridOrigin( const wxPoint& grid )
|
||||
{
|
||||
wxString msg;
|
||||
|
||||
PutValueInLocalUnits( *m_GridOriginXCtrl, grid.x, m_internalUnits );
|
||||
PutValueInLocalUnits( *m_GridOriginYCtrl, grid.y, m_internalUnits );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SET_GRID::OnResetGridOrgClick(wxCommandEvent& event)
|
||||
void DIALOG_SET_GRID::OnResetGridOrgClick( wxCommandEvent& event )
|
||||
{
|
||||
wxString msg(_("0") );
|
||||
m_GridOriginXCtrl->SetValue(msg);
|
||||
m_GridOriginYCtrl->SetValue(msg);
|
||||
SetGridOrigin( wxPoint(0,0) );
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************/
|
||||
void DIALOG_SET_GRID::OnCancelClick( wxCommandEvent& event )
|
||||
/*****************************************************************/
|
||||
{
|
||||
EndModal(wxID_CANCEL);
|
||||
EndModal( wxID_CANCEL );
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
void DIALOG_SET_GRID::OnOkClick(wxCommandEvent& event)
|
||||
void DIALOG_SET_GRID::OnOkClick( wxCommandEvent& event )
|
||||
/*************************************************************************/
|
||||
{
|
||||
EndModal(wxID_OK);
|
||||
EndModal( wxID_OK );
|
||||
}
|
||||
|
|
|
@ -18,8 +18,6 @@ void WinEDA_PcbFrame::ToolOnRightClick( wxCommandEvent& event )
|
|||
int id = event.GetSelection();
|
||||
|
||||
wxGetMousePosition( &pos.x, &pos.y );
|
||||
pos.x -= 400;
|
||||
pos.y -= 30;
|
||||
|
||||
switch( id )
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue