summaryrefslogtreecommitdiff
path: root/trunk/darwin/firmware/PIC/devices/extruder_0/extruder0-extruder2.lst
blob: e9f8489a7037593502cbfc9b5578e5388d47f278 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00001 ;--------------------------------------------------------
               00002 ; File Created by SDCC : free open source ANSI-C Compiler
               00003 ; Version 2.7.4 #4943 (Oct 27 2007) (UNIX)
               00004 ; This file was generated Fri Jun 13 14:34:03 2008
               00005 ;--------------------------------------------------------
               00006 ; PIC port for the 14-bit core
               00007 ;--------------------------------------------------------
               00008 ;       .module extruder2
               00009         list    p=16f648a
               00010         radix dec
               00011         include "p16f648a.inc"
               00001         LIST
               00002 ; P16F648A.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
               00264         LIST
               00012 ;--------------------------------------------------------
               00013 ; external declarations
               00014 ;--------------------------------------------------------
               00015         extern  _flashLED
               00016         extern  _LEDon
               00017         extern  _setFlash
               00018         extern  _uartTransmit
               00019         extern  _sendReply
               00020         extern  _sendMessage
               00021         extern  _sendDataByte
               00022         extern  _endMessage
               00023         extern  _sendMessageISR
               00024         extern  _sendDataByteISR
               00025         extern  _endMessageISR
               00026         extern  _releaseLock
               00027         extern  _serialInterruptHandler
               00028         extern  _packetReady
               00029         extern  _uartNotifyReceive
               00030         extern  _serial_init
               00031         extern  _delay_10us
               00032         extern  _clearwdt
               00033         extern  _CCP1CON_bits
               00034         extern  _CMCON_bits
               00035         extern  _EECON1_bits
               00036         extern  _INTCON_bits
               00037         extern  _OPTION_REG_bits
               00038         extern  _PCON_bits
               00039         extern  _PIE1_bits
               00040         extern  _PIR1_bits
               00041         extern  _PORTA_bits
               00042         extern  _PORTB_bits
               00043         extern  _RCSTA_bits
               00044         extern  _STATUS_bits
               00045         extern  _T1CON_bits
               00046         extern  _T2CON_bits
               00047         extern  _TRISA_bits
               00048         extern  _TRISB_bits
               00049         extern  _TXSTA_bits
               00050         extern  _VRCON_bits
               00051         extern  _interruptTemp
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00052         extern  _buffer
               00053         extern  _serialStatus
               00054         extern  _INDF
               00055         extern  _TMR0
               00056         extern  _PCL
               00057         extern  _STATUS
               00058         extern  _FSR
               00059         extern  _PORTA
               00060         extern  _PORTB
               00061         extern  _PCLATH
               00062         extern  _INTCON
               00063         extern  _PIR1
               00064         extern  _TMR1L
               00065         extern  _TMR1H
               00066         extern  _T1CON
               00067         extern  _TMR2
               00068         extern  _T2CON
               00069         extern  _CCPR1L
               00070         extern  _CCPR1H
               00071         extern  _CCP1CON
               00072         extern  _RCSTA
               00073         extern  _TXREG
               00074         extern  _RCREG
               00075         extern  _CMCON
               00076         extern  _OPTION_REG
               00077         extern  _TRISA
               00078         extern  _TRISB
               00079         extern  _PIE1
               00080         extern  _PCON
               00081         extern  _PR2
               00082         extern  _TXSTA
               00083         extern  _SPBRG
               00084         extern  _EEDATA
               00085         extern  _EEADR
               00086         extern  _EECON1
               00087         extern  _EECON2
               00088         extern  _VRCON
               00089 
               00090         extern PSAVE
               00091         extern SSAVE
               00092         extern WSAVE
               00093         extern STK12
               00094         extern STK11
               00095         extern STK10
               00096         extern STK09
               00097         extern STK08
               00098         extern STK07
               00099         extern STK06
               00100         extern STK05
               00101         extern STK04
               00102         extern STK03
               00103         extern STK02
               00104         extern STK01
               00105         extern STK00
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00106 ;--------------------------------------------------------
               00107 ; global declarations
               00108 ;--------------------------------------------------------
               00109         global  _processCommand
               00110         global  _checkTemperature
               00111         global  _motorTick
               00112         global  _timerTick
               00113         global  _pwmSet
               00114         global  _init2
               00115         global  _extruder_stop
               00116         global  _extruder_forward
               00117         global  _extruder_reverse
               00118         global  _heater_off
               00119         global  _heater_on
               00120         global  _change_log
               00121         global  _set_cooler
               00122         global  _solenoid_delay
               00123         global  _solenoid
               00124         global  _setSpeed
               00125         global  _dummy
               00126         global  _PWMPeriod
               00127 
               00128 ;--------------------------------------------------------
               00129 ; global definitions
               00130 ;--------------------------------------------------------
               00131 UD_extruder2_0  udata
               00132 _PWMPeriod      res     1
               00133 
               00134 ;--------------------------------------------------------
               00135 ; absolute symbol definitions
               00136 ;--------------------------------------------------------
               00137 ;--------------------------------------------------------
               00138 ; compiler-defined variables
               00139 ;--------------------------------------------------------
               00140 UDL_extruder2_0 udata
               00141 r0x1026 res     1
               00142 r0x1027 res     1
               00143 r0x101E res     1
               00144 r0x101F res     1
               00145 r0x1022 res     1
               00146 r0x1023 res     1
               00147 r0x1024 res     1
               00148 r0x1025 res     1
               00149 r0x1020 res     1
               00150 r0x1021 res     1
               00151 r0x1019 res     1
               00152 r0x101A res     1
               00153 r0x101B res     1
               00154 r0x101C res     1
               00155 r0x101D res     1
               00156 _portaval       res     1
               00157 _extrude_click  res     1
               00158 _material_click res     1
               00159 _lastPortA      res     1
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00160 _seekNotify     res     1
               00161 _currentDirection       res     1
               00162 _seekSpeed      res     1
               00163 _lastPortB      res     1
               00164 _requestedHeat0 res     1
               00165 _requestedHeat1 res     1
               00166 _temperatureLimit0      res     1
               00167 _temperatureLimit1      res     1
               00168 _heatCounter    res     1
               00169 _lastTemperature        res     1
               00170 _temperatureVRef        res     1
               00171 _temperatureNotUpdatedCounter   res     1
               00172 _currentPosition        res     2
               00173 _seekPosition   res     2
               00174 ;--------------------------------------------------------
               00175 ; initialized data
               00176 ;--------------------------------------------------------
               00177 
               00178 ID_extruder2_0  idata
0000           00179 _pulseCounter1
               00180         db      0x64
               00181 
               00182 
               00183 ID_extruder2_1  idata
0000           00184 _pulseCounter2
               00185         db      0x14
               00186 
               00187 
               00188 ID_extruder2_2  idata
0000           00189 _solenoid_on
               00190         db      0x00
               00191 
               00192 ;--------------------------------------------------------
               00193 ; overlayable items in internal ram 
               00194 ;--------------------------------------------------------
               00195 ;       udata_ovr
               00196 ;--------------------------------------------------------
               00197 ; code
               00198 ;--------------------------------------------------------
               00199 code_extruder2  code
               00200 ;***
               00201 ;  pBlock Stats: dbName = C
               00202 ;***
               00203 ;entry:  _dummy ;Function start
               00204 ; 2 exit points
               00205 ;has an exit
               00206 ;; Starting pCode block
0000           00207 _dummy  ;Function start
               00208 ; 2 exit points
               00209 ;       .line   764; "extruder2.c"      INTCON = 0;
0000 0000 0000 00210         BANKSEL _INTCON
0002 0180      00211         CLRF    _INTCON
0003 0008      00212         RETURN  
               00213 ; exit point of _dummy
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00214 
               00215 ;***
               00216 ;  pBlock Stats: dbName = C
               00217 ;***
               00218 ;entry:  _processCommand        ;Function start
               00219 ; 2 exit points
               00220 ;has an exit
               00221 ;functions called:
               00222 ;   _sendReply
               00223 ;   _sendDataByte
               00224 ;   _sendDataByte
               00225 ;   _sendDataByte
               00226 ;   _endMessage
               00227 ;   _sendReply
               00228 ;   _sendDataByte
               00229 ;   _sendDataByte
               00230 ;   _sendDataByte
               00231 ;   _sendDataByte
               00232 ;   _sendDataByte
               00233 ;   _sendDataByte
               00234 ;   _sendDataByte
               00235 ;   _endMessage
               00236 ;   _sendReply
               00237 ;   _sendDataByte
               00238 ;   _sendDataByte
               00239 ;   _endMessage
               00240 ;   _setSpeed
               00241 ;   _setSpeed
               00242 ;   _sendReply
               00243 ;   _sendDataByte
               00244 ;   _sendDataByte
               00245 ;   _sendDataByte
               00246 ;   _endMessage
               00247 ;   _setSpeed
               00248 ;   _setSpeed
               00249 ;   _extruder_stop
               00250 ;   _sendReply
               00251 ;   _sendDataByte
               00252 ;   _sendDataByte
               00253 ;   _endMessage
               00254 ;   _sendReply
               00255 ;   _sendDataByte
               00256 ;   _sendDataByte
               00257 ;   _sendDataByte
               00258 ;   _endMessage
               00259 ;   _set_cooler
               00260 ;   _sendReply
               00261 ;   _sendDataByte
               00262 ;   _sendDataByte
               00263 ;   _sendDataByte
               00264 ;   _sendDataByte
               00265 ;   _sendDataByte
               00266 ;   _sendDataByte
               00267 ;   _endMessage
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00268 ;   _sendReply
               00269 ;   _sendDataByte
               00270 ;   _sendDataByte
               00271 ;   _sendDataByte
               00272 ;   _sendDataByte
               00273 ;   _sendDataByte
               00274 ;   _sendDataByte
               00275 ;   _sendDataByte
               00276 ;   _endMessage
               00277 ;   _solenoid
               00278 ;   _solenoid
               00279 ;   _sendReply
               00280 ;   _sendDataByte
               00281 ;   _sendDataByte
               00282 ;   _sendDataByte
               00283 ;   _endMessage
               00284 ;   _sendReply
               00285 ;   _sendDataByte
               00286 ;   _sendDataByte
               00287 ;   _sendDataByte
               00288 ;   _sendDataByte
               00289 ;   _sendDataByte
               00290 ;   _sendDataByte
               00291 ;   _sendDataByte
               00292 ;   _endMessage
               00293 ;   _sendReply
               00294 ;   _sendDataByte
               00295 ;   _sendDataByte
               00296 ;   _endMessage
               00297 ;   _setSpeed
               00298 ;   _setSpeed
               00299 ;   _sendReply
               00300 ;   _sendDataByte
               00301 ;   _sendDataByte
               00302 ;   _sendDataByte
               00303 ;   _endMessage
               00304 ;   _setSpeed
               00305 ;   _setSpeed
               00306 ;   _extruder_stop
               00307 ;   _sendReply
               00308 ;   _sendDataByte
               00309 ;   _sendDataByte
               00310 ;   _endMessage
               00311 ;   _sendReply
               00312 ;   _sendDataByte
               00313 ;   _sendDataByte
               00314 ;   _sendDataByte
               00315 ;   _endMessage
               00316 ;   _set_cooler
               00317 ;   _sendReply
               00318 ;   _sendDataByte
               00319 ;   _sendDataByte
               00320 ;   _sendDataByte
               00321 ;   _sendDataByte
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00322 ;   _sendDataByte
               00323 ;   _sendDataByte
               00324 ;   _endMessage
               00325 ;   _sendReply
               00326 ;   _sendDataByte
               00327 ;   _sendDataByte
               00328 ;   _sendDataByte
               00329 ;   _sendDataByte
               00330 ;   _sendDataByte
               00331 ;   _sendDataByte
               00332 ;   _sendDataByte
               00333 ;   _endMessage
               00334 ;   _solenoid
               00335 ;   _solenoid
               00336 ;5 compiler assigned registers:
               00337 ;   r0x1019
               00338 ;   r0x101A
               00339 ;   r0x101B
               00340 ;   r0x101C
               00341 ;   r0x101D
               00342 ;; Starting pCode block
0004           00343 _processCommand ;Function start
               00344 ; 2 exit points
               00345 ;       .line   574; "extruder2.c"      switch(buffer[0]) {
0004 0000 0000 00346         BANKSEL _buffer
0006 0800      00347         MOVF    (_buffer + 0),W
0007 0000 0000 00348         BANKSEL r0x1019
0009 0080      00349         MOVWF   r0x1019
000A 1903      00350         BTFSC   STATUS,2
000B 2800      00351         GOTO    _00273_DS_
000C 0800      00352         MOVF    r0x1019,W
000D 3A01      00353         XORLW   0x01
000E 1903      00354         BTFSC   STATUS,2
000F 2800      00355         GOTO    _00285_DS_
0010 0800      00356         MOVF    r0x1019,W
0011 3A02      00357         XORLW   0x02
0012 1903      00358         BTFSC   STATUS,2
0013 2800      00359         GOTO    _00286_DS_
0014 0800      00360         MOVF    r0x1019,W
0015 3A03      00361         XORLW   0x03
0016 1903      00362         BTFSC   STATUS,2
0017 2800      00363         GOTO    _00287_DS_
0018 0800      00364         MOVF    r0x1019,W
0019 3A04      00365         XORLW   0x04
001A 1903      00366         BTFSC   STATUS,2
001B 2800      00367         GOTO    _00288_DS_
001C 0800      00368         MOVF    r0x1019,W
001D 3A05      00369         XORLW   0x05
001E 1903      00370         BTFSC   STATUS,2
001F 2800      00371         GOTO    _00289_DS_
0020 0800      00372         MOVF    r0x1019,W
0021 3A06      00373         XORLW   0x06
0022 1903      00374         BTFSC   STATUS,2
0023 2800      00375         GOTO    _00295_DS_
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  8


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0024 0800      00376         MOVF    r0x1019,W
0025 3A07      00377         XORLW   0x07
0026 1903      00378         BTFSC   STATUS,2
0027 2800      00379         GOTO    _00296_DS_
0028 0800      00380         MOVF    r0x1019,W
0029 3A08      00381         XORLW   0x08
002A 1903      00382         BTFSC   STATUS,2
002B 2800      00383         GOTO    _00297_DS_
002C 0800      00384         MOVF    r0x1019,W
002D 3A09      00385         XORLW   0x09
002E 1903      00386         BTFSC   STATUS,2
002F 2800      00387         GOTO    _00298_DS_
0030 0800      00388         MOVF    r0x1019,W
0031 3A0A      00389         XORLW   0x0a
0032 1903      00390         BTFSC   STATUS,2
0033 2800      00391         GOTO    _00299_DS_
0034 0800      00392         MOVF    r0x1019,W
0035 3A0B      00393         XORLW   0x0b
0036 1903      00394         BTFSC   STATUS,2
0037 2800      00395         GOTO    _00300_DS_
0038 0800      00396         MOVF    r0x1019,W
0039 3A0C      00397         XORLW   0x0c
003A 1903      00398         BTFSC   STATUS,2
003B 2800      00399         GOTO    _00307_DS_
003C 0800      00400         MOVF    r0x1019,W
003D 3A0D      00401         XORLW   0x0d
003E 1903      00402         BTFSC   STATUS,2
003F 2800      00403         GOTO    _00308_DS_
0040 0800      00404         MOVF    r0x1019,W
0041 3A32      00405         XORLW   0x32
0042 1903      00406         BTFSC   STATUS,2
0043 2800      00407         GOTO    _00301_DS_
0044 0800      00408         MOVF    r0x1019,W
0045 3A33      00409         XORLW   0x33
0046 1903      00410         BTFSC   STATUS,2
0047 2800      00411         GOTO    _00302_DS_
0048 0800      00412         MOVF    r0x1019,W
0049 3A34      00413         XORLW   0x34
004A 1903      00414         BTFSC   STATUS,2
004B 2800      00415         GOTO    _00303_DS_
004C 0800      00416         MOVF    r0x1019,W
004D 3A35      00417         XORLW   0x35
004E 1903      00418         BTFSC   STATUS,2
004F 2800      00419         GOTO    _00304_DS_
0050 0800      00420         MOVF    r0x1019,W
0051 3A36      00421         XORLW   0x36
0052 1903      00422         BTFSC   STATUS,2
0053 2800      00423         GOTO    _00305_DS_
0054 0800      00424         MOVF    r0x1019,W
0055 3A37      00425         XORLW   0x37
0056 1903      00426         BTFSC   STATUS,2
0057 2800      00427         GOTO    _00306_DS_
0058 0800      00428         MOVF    r0x1019,W
0059 3AFE      00429         XORLW   0xfe
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE  9


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
005A 1903      00430         BTFSC   STATUS,2
005B 2800      00431         GOTO    _00274_DS_
005C 0800      00432         MOVF    r0x1019,W
005D 3AFF      00433         XORLW   0xff
005E 1903      00434         BTFSC   STATUS,2
005F 2800      00435         GOTO    _00284_DS_
0060 2800      00436         GOTO    _00309_DS_
0061           00437 _00273_DS_
               00438 ;       .line   576; "extruder2.c"      sendReply();
0061 0000      00439         PAGESEL _sendReply
0062 2000      00440         CALL    _sendReply
0063 0000      00441         PAGESEL $
               00442 ;       .line   577; "extruder2.c"      sendDataByte(CMD_VERSION);  // Response type 0
0064 3000      00443         MOVLW   0x00
0065 0000      00444         PAGESEL _sendDataByte
0066 2000      00445         CALL    _sendDataByte
0067 0000      00446         PAGESEL $
               00447 ;       .line   578; "extruder2.c"      sendDataByte(MAJOR_VERSION_NUMBER);
0068 3001      00448         MOVLW   0x01
0069 0000      00449         PAGESEL _sendDataByte
006A 2000      00450         CALL    _sendDataByte
006B 0000      00451         PAGESEL $
               00452 ;       .line   579; "extruder2.c"      sendDataByte(MINOR_VERSION_NUMBER);
006C 3000      00453         MOVLW   0x00
006D 0000      00454         PAGESEL _sendDataByte
006E 2000      00455         CALL    _sendDataByte
006F 0000      00456         PAGESEL $
               00457 ;       .line   580; "extruder2.c"      endMessage();
0070 0000      00458         PAGESEL _endMessage
0071 2000      00459         CALL    _endMessage
0072 0000      00460         PAGESEL $
               00461 ;       .line   581; "extruder2.c"      break;
0073 2800      00462         GOTO    _00309_DS_
0074           00463 _00274_DS_
               00464 ;       .line   584; "extruder2.c"      sendReply();
0074 0000      00465         PAGESEL _sendReply
0075 2000      00466         CALL    _sendReply
0076 0000      00467         PAGESEL $
               00468 ;       .line   585; "extruder2.c"      sendDataByte(CMD_CHECKHOSTVERSION);    
0077 30FE      00469         MOVLW   0xfe
0078 0000      00470         PAGESEL _sendDataByte
0079 2000      00471         CALL    _sendDataByte
007A 0000      00472         PAGESEL $
               00473 ;       .line   586; "extruder2.c"      if(buffer[1] > OLDHOST_MAJOR_VERSION_NUMBER)
007B 0000 0000 00474         BANKSEL _buffer
007D 0800      00475         MOVF    (_buffer + 1),W
007E 0000 0000 00476         BANKSEL r0x1019
0080 0080      00477         MOVWF   r0x1019
0081 1903      00478         BTFSC   STATUS,2
0082 2800      00479         GOTO    _00282_DS_
               00480 ;       .line   587; "extruder2.c"      sendDataByte(0xff);    
0083 30FF      00481         MOVLW   0xff
0084 0000      00482         PAGESEL _sendDataByte
0085 2000      00483         CALL    _sendDataByte
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 10


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0086 0000      00484         PAGESEL $
0087 2800      00485         GOTO    _00283_DS_
0088           00486 _00282_DS_
               00487 ;       .line   588; "extruder2.c"      else if (buffer[1] == OLDHOST_MAJOR_VERSION_NUMBER)
0088 0000 0000 00488         BANKSEL _buffer
008A 0800      00489         MOVF    (_buffer + 1),W
008B 0000 0000 00490         BANKSEL r0x1019
008D 0080      00491         MOVWF   r0x1019
008E 0800      00492         MOVF    r0x1019,W
008F 1D03      00493         BTFSS   STATUS,2
0090 2800      00494         GOTO    _00279_DS_
               00495 ;       .line   590; "extruder2.c"      if (buffer[2] >= OLDHOST_MINOR_VERSION_NUMBER)
0091 0000 0000 00496         BANKSEL _buffer
0093 0800      00497         MOVF    (_buffer + 2),W
0094 0000 0000 00498         BANKSEL r0x1019
0096 0080      00499         MOVWF   r0x1019
               00500 ;unsigned compare: left < lit(0x8=8), size=1
0097 3008      00501         MOVLW   0x08
0098 0200      00502         SUBWF   r0x1019,W
0099 1C03      00503         BTFSS   STATUS,0
009A 2800      00504         GOTO    _00276_DS_
               00505 ;genSkipc:3694: created from rifx:0xbf8b93d0
               00506 ;       .line   591; "extruder2.c"      sendDataByte(0xff);
009B 30FF      00507         MOVLW   0xff
009C 0000      00508         PAGESEL _sendDataByte
009D 2000      00509         CALL    _sendDataByte
009E 0000      00510         PAGESEL $
009F 2800      00511         GOTO    _00283_DS_
00A0           00512 _00276_DS_
               00513 ;       .line   593; "extruder2.c"      sendDataByte(0);    
00A0 3000      00514         MOVLW   0x00
00A1 0000      00515         PAGESEL _sendDataByte
00A2 2000      00516         CALL    _sendDataByte
00A3 0000      00517         PAGESEL $
00A4 2800      00518         GOTO    _00283_DS_
00A5           00519 _00279_DS_
               00520 ;       .line   595; "extruder2.c"      sendDataByte(0);
00A5 3000      00521         MOVLW   0x00
00A6 0000      00522         PAGESEL _sendDataByte
00A7 2000      00523         CALL    _sendDataByte
00A8 0000      00524         PAGESEL $
00A9           00525 _00283_DS_
               00526 ;       .line   596; "extruder2.c"      sendDataByte(OLDHOST_MAJOR_VERSION_NUMBER);
00A9 3000      00527         MOVLW   0x00
00AA 0000      00528         PAGESEL _sendDataByte
00AB 2000      00529         CALL    _sendDataByte
00AC 0000      00530         PAGESEL $
               00531 ;       .line   597; "extruder2.c"      sendDataByte(OLDHOST_MINOR_VERSION_NUMBER);
00AD 3008      00532         MOVLW   0x08
00AE 0000      00533         PAGESEL _sendDataByte
00AF 2000      00534         CALL    _sendDataByte
00B0 0000      00535         PAGESEL $
               00536 ;       .line   598; "extruder2.c"      endMessage();
00B1 0000      00537         PAGESEL _endMessage
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 11


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
00B2 2000      00538         CALL    _endMessage
00B3 0000      00539         PAGESEL $
               00540 ;       .line   599; "extruder2.c"      break;    
00B4 2800      00541         GOTO    _00309_DS_
00B5           00542 _00284_DS_
               00543 ;       .line   602; "extruder2.c"      sendReply();
00B5 0000      00544         PAGESEL _sendReply
00B6 2000      00545         CALL    _sendReply
00B7 0000      00546         PAGESEL $
               00547 ;       .line   603; "extruder2.c"      sendDataByte(CMD_GETMODULETYPE);
00B8 30FF      00548         MOVLW   0xff
00B9 0000      00549         PAGESEL _sendDataByte
00BA 2000      00550         CALL    _sendDataByte
00BB 0000      00551         PAGESEL $
               00552 ;       .line   604; "extruder2.c"      sendDataByte(THERMOPLASTIC_EXTRUDER_TYPE);
00BC 3001      00553         MOVLW   0x01
00BD 0000      00554         PAGESEL _sendDataByte
00BE 2000      00555         CALL    _sendDataByte
00BF 0000      00556         PAGESEL $
               00557 ;       .line   605; "extruder2.c"      endMessage();
00C0 0000      00558         PAGESEL _endMessage
00C1 2000      00559         CALL    _endMessage
00C2 0000      00560         PAGESEL $
               00561 ;       .line   606; "extruder2.c"      break;
00C3 2800      00562         GOTO    _00309_DS_
00C4           00563 _00285_DS_
               00564 ;       .line   610; "extruder2.c"      seekSpeed = buffer[1];
00C4 0000 0000 00565         BANKSEL _buffer
00C6 0800      00566         MOVF    (_buffer + 1),W
00C7 0000 0000 00567         BANKSEL _seekSpeed
00C9 0080      00568         MOVWF   _seekSpeed
               00569 ;       .line   611; "extruder2.c"      setSpeed(0);
00CA 3000      00570         MOVLW   0x00
00CB 2000      00571         CALL    _setSpeed
               00572 ;       .line   612; "extruder2.c"      break;
00CC 2800      00573         GOTO    _00309_DS_
00CD           00574 _00286_DS_
               00575 ;       .line   615; "extruder2.c"      seekSpeed = buffer[1];
00CD 0000 0000 00576         BANKSEL _buffer
00CF 0800      00577         MOVF    (_buffer + 1),W
00D0 0000 0000 00578         BANKSEL _seekSpeed
00D2 0080      00579         MOVWF   _seekSpeed
               00580 ;       .line   616; "extruder2.c"      setSpeed(1);
00D3 3001      00581         MOVLW   0x01
00D4 2000      00582         CALL    _setSpeed
               00583 ;       .line   617; "extruder2.c"      break;
00D5 2800      00584         GOTO    _00309_DS_
00D6           00585 _00287_DS_
               00586 ;       .line   621; "extruder2.c"      currentPosition.bytes[0] = buffer[1];
00D6 0000 0000 00587         BANKSEL _buffer
00D8 0800      00588         MOVF    (_buffer + 1),W
00D9 0000 0000 00589         BANKSEL r0x1019
00DB 0080      00590         MOVWF   r0x1019
00DC 0000 0000 00591         BANKSEL _currentPosition
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 12


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
00DE 0080      00592         MOVWF   (_currentPosition + 0)
               00593 ;       .line   622; "extruder2.c"      currentPosition.bytes[1] = buffer[2];
00DF 0000 0000 00594         BANKSEL _buffer
00E1 0800      00595         MOVF    (_buffer + 2),W
00E2 0000 0000 00596         BANKSEL r0x1019
00E4 0080      00597         MOVWF   r0x1019
00E5 0000 0000 00598         BANKSEL _currentPosition
00E7 0080      00599         MOVWF   (_currentPosition + 1)
               00600 ;       .line   623; "extruder2.c"      break;
00E8 2800      00601         GOTO    _00309_DS_
00E9           00602 _00288_DS_
               00603 ;       .line   627; "extruder2.c"      sendReply();
00E9 0000      00604         PAGESEL _sendReply
00EA 2000      00605         CALL    _sendReply
00EB 0000      00606         PAGESEL $
               00607 ;       .line   628; "extruder2.c"      sendDataByte(CMD_GETPOS);
00EC 3004      00608         MOVLW   0x04
00ED 0000      00609         PAGESEL _sendDataByte
00EE 2000      00610         CALL    _sendDataByte
00EF 0000      00611         PAGESEL $
               00612 ;       .line   629; "extruder2.c"      sendDataByte(currentPosition.bytes[0]);
00F0 0000 0000 00613         BANKSEL _currentPosition
00F2 0800      00614         MOVF    (_currentPosition + 0),W
00F3 0000 0000 00615         BANKSEL r0x1019
00F5 0080      00616         MOVWF   r0x1019
00F6 0000      00617         PAGESEL _sendDataByte
00F7 2000      00618         CALL    _sendDataByte
00F8 0000      00619         PAGESEL $
               00620 ;       .line   630; "extruder2.c"      sendDataByte(currentPosition.bytes[1]);
00F9 0000 0000 00621         BANKSEL _currentPosition
00FB 0800      00622         MOVF    (_currentPosition + 1),W
00FC 0000 0000 00623         BANKSEL r0x1019
00FE 0080      00624         MOVWF   r0x1019
00FF 0000      00625         PAGESEL _sendDataByte
0100 2000      00626         CALL    _sendDataByte
0101 0000      00627         PAGESEL $
               00628 ;       .line   631; "extruder2.c"      endMessage();
0102 0000      00629         PAGESEL _endMessage
0103 2000      00630         CALL    _endMessage
0104 0000      00631         PAGESEL $
               00632 ;       .line   632; "extruder2.c"      break;
0105 2800      00633         GOTO    _00309_DS_
0106           00634 _00289_DS_
               00635 ;       .line   636; "extruder2.c"      seekPosition.bytes[0] = buffer[2];
0106 0000 0000 00636         BANKSEL _buffer
0108 0800      00637         MOVF    (_buffer + 2),W
0109 0000 0000 00638         BANKSEL r0x1019
010B 0080      00639         MOVWF   r0x1019
010C 0000 0000 00640         BANKSEL _seekPosition
010E 0080      00641         MOVWF   (_seekPosition + 0)
               00642 ;       .line   637; "extruder2.c"      seekPosition.bytes[1] = buffer[3];
010F 0000 0000 00643         BANKSEL _buffer
0111 0800      00644         MOVF    (_buffer + 3),W
0112 0000 0000 00645         BANKSEL r0x1019
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 13


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0114 0080      00646         MOVWF   r0x1019
0115 0000 0000 00647         BANKSEL _seekPosition
0117 0080      00648         MOVWF   (_seekPosition + 1)
               00649 ;       .line   639; "extruder2.c"      if (seekPosition.ival != currentPosition.ival) {
0118 0800      00650         MOVF    (_seekPosition + 0),W
0119 0000 0000 00651         BANKSEL r0x1019
011B 0080      00652         MOVWF   r0x1019
011C 0000 0000 00653         BANKSEL _seekPosition
011E 0800      00654         MOVF    (_seekPosition + 1),W
011F 0000 0000 00655         BANKSEL r0x101A
0121 0080      00656         MOVWF   r0x101A
0122 0000 0000 00657         BANKSEL _currentPosition
0124 0800      00658         MOVF    (_currentPosition + 0),W
0125 0000 0000 00659         BANKSEL r0x101B
0127 0080      00660         MOVWF   r0x101B
0128 0000 0000 00661         BANKSEL _currentPosition
012A 0800      00662         MOVF    (_currentPosition + 1),W
012B 0000 0000 00663         BANKSEL r0x101C
012D 0080      00664         MOVWF   r0x101C
012E 0800      00665         MOVF    r0x101B,W
012F 0600      00666         XORWF   r0x1019,W
0130 1D03      00667         BTFSS   STATUS,2
0131 2800      00668         GOTO    _00362_DS_
0132 0800      00669         MOVF    r0x101C,W
               00670 ;       .line   640; "extruder2.c"      seekSpeed = buffer[1];
0133 0600      00671         XORWF   r0x101A,W
0134 1903      00672         BTFSC   STATUS,2
0135 2800      00673         GOTO    _00309_DS_
0136           00674 _00362_DS_
0136 0000 0000 00675         BANKSEL _buffer
0138 0800      00676         MOVF    (_buffer + 1),W
0139 0000 0000 00677         BANKSEL _seekSpeed
013B 0080      00678         MOVWF   _seekSpeed
               00679 ;       .line   641; "extruder2.c"      if (currentPosition.ival > seekPosition.ival)
013C 0000 0000 00680         BANKSEL _currentPosition
013E 0800      00681         MOVF    (_currentPosition + 0),W
013F 0000 0000 00682         BANKSEL r0x1019
0141 0080      00683         MOVWF   r0x1019
               00684 ;;100   MOVF    (_currentPosition + 1),W
0142 0000 0000 00685         BANKSEL _seekPosition
0144 0800      00686         MOVF    (_seekPosition + 0),W
0145 0000 0000 00687         BANKSEL r0x101B
0147 0080      00688         MOVWF   r0x101B
0148 0000 0000 00689         BANKSEL _seekPosition
014A 0800      00690         MOVF    (_seekPosition + 1),W
014B 0000 0000 00691         BANKSEL r0x101C
014D 0080      00692         MOVWF   r0x101C
014E 3E80      00693         ADDLW   0x80
014F 0080      00694         MOVWF   r0x101D
               00695 ;;99    MOVF    r0x101A,W
0150 0000 0000 00696         BANKSEL _currentPosition
0152 0800      00697         MOVF    (_currentPosition + 1),W
0153 0000 0000 00698         BANKSEL r0x101A
0155 0080      00699         MOVWF   r0x101A
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 14


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0156 3E80      00700         ADDLW   0x80
0157 0200      00701         SUBWF   r0x101D,W
0158 1D03      00702         BTFSS   STATUS,2
0159 2800      00703         GOTO    _00363_DS_
015A 0800      00704         MOVF    r0x1019,W
015B 0200      00705         SUBWF   r0x101B,W
015C           00706 _00363_DS_
015C 1803      00707         BTFSC   STATUS,0
015D 2800      00708         GOTO    _00291_DS_
               00709 ;genSkipc:3694: created from rifx:0xbf8b93d0
               00710 ;       .line   642; "extruder2.c"      setSpeed(1);
015E 3001      00711         MOVLW   0x01
015F 2000      00712         CALL    _setSpeed
0160 2800      00713         GOTO    _00309_DS_
0161           00714 _00291_DS_
               00715 ;       .line   644; "extruder2.c"      setSpeed(0);
0161 3000      00716         MOVLW   0x00
0162 2000      00717         CALL    _setSpeed
               00718 ;       .line   647; "extruder2.c"      break;
0163 2800      00719         GOTO    _00309_DS_
0164           00720 _00295_DS_
               00721 ;       .line   652; "extruder2.c"      extruder_stop();
0164 2000      00722         CALL    _extruder_stop
               00723 ;       .line   653; "extruder2.c"      break;
0165 2800      00724         GOTO    _00309_DS_
0166           00725 _00296_DS_
               00726 ;       .line   657; "extruder2.c"      seekNotify = buffer[1];
0166 0000 0000 00727         BANKSEL _buffer
0168 0800      00728         MOVF    (_buffer + 1),W
0169 0000 0000 00729         BANKSEL _seekNotify
016B 0080      00730         MOVWF   _seekNotify
               00731 ;       .line   658; "extruder2.c"      break;
016C 2800      00732         GOTO    _00309_DS_
016D           00733 _00297_DS_
               00734 ;       .line   661; "extruder2.c"      sendReply();
016D 0000      00735         PAGESEL _sendReply
016E 2000      00736         CALL    _sendReply
016F 0000      00737         PAGESEL $
               00738 ;       .line   662; "extruder2.c"      sendDataByte(CMD_ISEMPTY);
0170 3008      00739         MOVLW   0x08
0171 0000      00740         PAGESEL _sendDataByte
0172 2000      00741         CALL    _sendDataByte
0173 0000      00742         PAGESEL $
               00743 ;       .line   664; "extruder2.c"      sendDataByte(!RA5);   
0174 0000 0000 00744         BANKSEL r0x1019
0176 0180      00745         CLRF    r0x1019
0177 0000 0000 00746         BANKSEL _PORTA_bits
0179 1E80      00747         BTFSS   _PORTA_bits,5
017A 2800      00748         GOTO    _00001_DS_
017B 0000 0000 00749         BANKSEL r0x1019
017D 0A80      00750         INCF    r0x1019,F
017E           00751 _00001_DS_
017E 0000 0000 00752         BANKSEL r0x1019
0180 0800      00753         MOVF    r0x1019,W
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 15


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0181 3000      00754         MOVLW   0x00
0182 1903      00755         BTFSC   STATUS,2
0183 3001      00756         MOVLW   0x01
0184 0080      00757         MOVWF   r0x101A
0185 0000      00758         PAGESEL _sendDataByte
0186 2000      00759         CALL    _sendDataByte
0187 0000      00760         PAGESEL $
               00761 ;       .line   668; "extruder2.c"      endMessage();
0188 0000      00762         PAGESEL _endMessage
0189 2000      00763         CALL    _endMessage
018A 0000      00764         PAGESEL $
               00765 ;       .line   669; "extruder2.c"      break;
018B 2800      00766         GOTO    _00309_DS_
018C           00767 _00298_DS_
               00768 ;       .line   672; "extruder2.c"      GIE=0;
018C 0000 0000 00769         BANKSEL _INTCON_bits
018E 1380      00770         BCF     _INTCON_bits,7
               00771 ;       .line   673; "extruder2.c"      requestedHeat0 = buffer[1];
018F 0000 0000 00772         BANKSEL _buffer
0191 0800      00773         MOVF    (_buffer + 1),W
0192 0000 0000 00774         BANKSEL _requestedHeat0
0194 0080      00775         MOVWF   _requestedHeat0
               00776 ;       .line   674; "extruder2.c"      requestedHeat1 = buffer[2];
0195 0000 0000 00777         BANKSEL _buffer
0197 0800      00778         MOVF    (_buffer + 2),W
0198 0000 0000 00779         BANKSEL _requestedHeat1
019A 0080      00780         MOVWF   _requestedHeat1
               00781 ;       .line   675; "extruder2.c"      temperatureLimit0 = buffer[3];
019B 0000 0000 00782         BANKSEL _buffer
019D 0800      00783         MOVF    (_buffer + 3),W
019E 0000 0000 00784         BANKSEL _temperatureLimit0
01A0 0080      00785         MOVWF   _temperatureLimit0
               00786 ;       .line   676; "extruder2.c"      temperatureLimit1 = buffer[4];
01A1 0000 0000 00787         BANKSEL _buffer
01A3 0800      00788         MOVF    (_buffer + 4),W
01A4 0000 0000 00789         BANKSEL _temperatureLimit1
01A6 0080      00790         MOVWF   _temperatureLimit1
               00791 ;       .line   677; "extruder2.c"      GIE=1;
01A7 0000 0000 00792         BANKSEL _INTCON_bits
01A9 1780      00793         BSF     _INTCON_bits,7
               00794 ;       .line   678; "extruder2.c"      break;
01AA 2800      00795         GOTO    _00309_DS_
01AB           00796 _00299_DS_
               00797 ;       .line   681; "extruder2.c"      sendReply();
01AB 0000      00798         PAGESEL _sendReply
01AC 2000      00799         CALL    _sendReply
01AD 0000      00800         PAGESEL $
               00801 ;       .line   682; "extruder2.c"      sendDataByte(CMD_GETTEMP);
01AE 300A      00802         MOVLW   0x0a
01AF 0000      00803         PAGESEL _sendDataByte
01B0 2000      00804         CALL    _sendDataByte
01B1 0000      00805         PAGESEL $
               00806 ;       .line   683; "extruder2.c"      sendDataByte(lastTemperature);
01B2 0000 0000 00807         BANKSEL _lastTemperature
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 16


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
01B4 0800      00808         MOVF    _lastTemperature,W
01B5 0000      00809         PAGESEL _sendDataByte
01B6 2000      00810         CALL    _sendDataByte
01B7 0000      00811         PAGESEL $
               00812 ;       .line   684; "extruder2.c"      sendDataByte(0);
01B8 3000      00813         MOVLW   0x00
01B9 0000      00814         PAGESEL _sendDataByte
01BA 2000      00815         CALL    _sendDataByte
01BB 0000      00816         PAGESEL $
               00817 ;       .line   685; "extruder2.c"      endMessage();
01BC 0000      00818         PAGESEL _endMessage
01BD 2000      00819         CALL    _endMessage
01BE 0000      00820         PAGESEL $
               00821 ;       .line   686; "extruder2.c"      break;
01BF 2800      00822         GOTO    _00309_DS_
01C0           00823 _00300_DS_
               00824 ;       .line   689; "extruder2.c"      set_cooler(buffer[1]);
01C0 0000 0000 00825         BANKSEL _buffer
01C2 0800      00826         MOVF    (_buffer + 1),W
01C3 0000 0000 00827         BANKSEL r0x1019
01C5 0080      00828         MOVWF   r0x1019
01C6 2000      00829         CALL    _set_cooler
               00830 ;       .line   697; "extruder2.c"      break;
01C7 2800      00831         GOTO    _00309_DS_
01C8           00832 _00301_DS_
               00833 ;       .line   702; "extruder2.c"      PWMPeriod = buffer[1];
01C8 0000 0000 00834         BANKSEL _buffer
01CA 0800      00835         MOVF    (_buffer + 1),W
01CB 0000 0000 00836         BANKSEL _PWMPeriod
01CD 0080      00837         MOVWF   _PWMPeriod
               00838 ;       .line   703; "extruder2.c"      PR2 = PWMPeriod;
01CE 0800      00839         MOVF    _PWMPeriod,W
01CF 0000 0000 00840         BANKSEL _PR2
01D1 0080      00841         MOVWF   _PR2
               00842 ;       .line   704; "extruder2.c"      break;
01D2 2800      00843         GOTO    _00309_DS_
01D3           00844 _00302_DS_
               00845 ;       .line   708; "extruder2.c"      T2CON = BIN(00000100) | (buffer[1] & 3);
01D3 0000 0000 00846         BANKSEL _buffer
01D5 0800      00847         MOVF    (_buffer + 1),W
01D6 0000 0000 00848         BANKSEL r0x1019
01D8 0080      00849         MOVWF   r0x1019
01D9 3003      00850         MOVLW   0x03
01DA 0580      00851         ANDWF   r0x1019,F
01DB 3004      00852         MOVLW   0x04
01DC 0400      00853         IORWF   r0x1019,W
01DD 0000 0000 00854         BANKSEL _T2CON
01DF 0080      00855         MOVWF   _T2CON
               00856 ;       .line   709; "extruder2.c"      break;
01E0 2800      00857         GOTO    _00309_DS_
01E1           00858 _00303_DS_
               00859 ;       .line   712; "extruder2.c"      GIE=0;
01E1 0000 0000 00860         BANKSEL _INTCON_bits
01E3 1380      00861         BCF     _INTCON_bits,7
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 17


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               00862 ;       .line   713; "extruder2.c"      temperatureVRef = buffer[1];
01E4 0000 0000 00863         BANKSEL _buffer
01E6 0800      00864         MOVF    (_buffer + 1),W
01E7 0000 0000 00865         BANKSEL _temperatureVRef
01E9 0080      00866         MOVWF   _temperatureVRef
               00867 ;       .line   714; "extruder2.c"      GIE=1;
01EA 0000 0000 00868         BANKSEL _INTCON_bits
01EC 1780      00869         BSF     _INTCON_bits,7
               00870 ;       .line   715; "extruder2.c"      break;
01ED 2800      00871         GOTO    _00309_DS_
01EE           00872 _00304_DS_
               00873 ;       .line   718; "extruder2.c"      GIE=0;
01EE 0000 0000 00874         BANKSEL _INTCON_bits
01F0 1380      00875         BCF     _INTCON_bits,7
               00876 ;       .line   719; "extruder2.c"      OPTION_REG = (OPTION_REG & BIN(11111000)) | (buffer[1] & BIN(111));
01F1 30F8      00877         MOVLW   0xf8
01F2 0000 0000 00878         BANKSEL _OPTION_REG
01F4 0500      00879         ANDWF   _OPTION_REG,W
01F5 0000 0000 00880         BANKSEL r0x1019
01F7 0080      00881         MOVWF   r0x1019
01F8 0000 0000 00882         BANKSEL _buffer
01FA 0800      00883         MOVF    (_buffer + 1),W
01FB 0000 0000 00884         BANKSEL r0x101A
01FD 0080      00885         MOVWF   r0x101A
01FE 3007      00886         MOVLW   0x07
01FF 0580      00887         ANDWF   r0x101A,F
0200 0800      00888         MOVF    r0x101A,W
0201 0400      00889         IORWF   r0x1019,W
0202 0000 0000 00890         BANKSEL _OPTION_REG
0204 0080      00891         MOVWF   _OPTION_REG
               00892 ;       .line   720; "extruder2.c"      GIE=1;
0205 0000 0000 00893         BANKSEL _INTCON_bits
0207 1780      00894         BSF     _INTCON_bits,7
               00895 ;       .line   721; "extruder2.c"      break;
0208 2800      00896         GOTO    _00309_DS_
0209           00897 _00305_DS_
               00898 ;       .line   724; "extruder2.c"      sendReply();
0209 0000      00899         PAGESEL _sendReply
020A 2000      00900         CALL    _sendReply
020B 0000      00901         PAGESEL $
               00902 ;       .line   725; "extruder2.c"      sendDataByte(CMD_GETDEBUGINFO);
020C 3036      00903         MOVLW   0x36
020D 0000      00904         PAGESEL _sendDataByte
020E 2000      00905         CALL    _sendDataByte
020F 0000      00906         PAGESEL $
               00907 ;       .line   726; "extruder2.c"      sendDataByte(heatCounter);
0210 0000 0000 00908         BANKSEL _heatCounter
0212 0800      00909         MOVF    _heatCounter,W
0213 0000      00910         PAGESEL _sendDataByte
0214 2000      00911         CALL    _sendDataByte
0215 0000      00912         PAGESEL $
               00913 ;       .line   727; "extruder2.c"      sendDataByte(PORTA);
0216 0000 0000 00914         BANKSEL _PORTA
0218 0800      00915         MOVF    _PORTA,W
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 18


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0219 0000      00916         PAGESEL _sendDataByte
021A 2000      00917         CALL    _sendDataByte
021B 0000      00918         PAGESEL $
               00919 ;       .line   728; "extruder2.c"      sendDataByte(TRISA);
021C 0000 0000 00920         BANKSEL _TRISA
021E 0800      00921         MOVF    _TRISA,W
021F 0000      00922         PAGESEL _sendDataByte
0220 2000      00923         CALL    _sendDataByte
0221 0000      00924         PAGESEL $
               00925 ;       .line   729; "extruder2.c"      sendDataByte(OPTION_REG);
0222 0000 0000 00926         BANKSEL _OPTION_REG
0224 0800      00927         MOVF    _OPTION_REG,W
0225 0000      00928         PAGESEL _sendDataByte
0226 2000      00929         CALL    _sendDataByte
0227 0000      00930         PAGESEL $
               00931 ;       .line   730; "extruder2.c"      sendDataByte(temperatureVRef);
0228 0000 0000 00932         BANKSEL _temperatureVRef
022A 0800      00933         MOVF    _temperatureVRef,W
022B 0000      00934         PAGESEL _sendDataByte
022C 2000      00935         CALL    _sendDataByte
022D 0000      00936         PAGESEL $
               00937 ;       .line   731; "extruder2.c"      endMessage();
022E 0000      00938         PAGESEL _endMessage
022F 2000      00939         CALL    _endMessage
0230 0000      00940         PAGESEL $
               00941 ;       .line   732; "extruder2.c"      break;
0231 2800      00942         GOTO    _00309_DS_
0232           00943 _00306_DS_
               00944 ;       .line   735; "extruder2.c"      sendReply();
0232 0000      00945         PAGESEL _sendReply
0233 2000      00946         CALL    _sendReply
0234 0000      00947         PAGESEL $
               00948 ;       .line   736; "extruder2.c"      sendDataByte(CMD_GETTEMPINFO);
0235 3037      00949         MOVLW   0x37
0236 0000      00950         PAGESEL _sendDataByte
0237 2000      00951         CALL    _sendDataByte
0238 0000      00952         PAGESEL $
               00953 ;       .line   737; "extruder2.c"      sendDataByte(requestedHeat0);
0239 0000 0000 00954         BANKSEL _requestedHeat0
023B 0800      00955         MOVF    _requestedHeat0,W
023C 0000      00956         PAGESEL _sendDataByte
023D 2000      00957         CALL    _sendDataByte
023E 0000      00958         PAGESEL $
               00959 ;       .line   738; "extruder2.c"      sendDataByte(requestedHeat1);
023F 0000 0000 00960         BANKSEL _requestedHeat1
0241 0800      00961         MOVF    _requestedHeat1,W
0242 0000      00962         PAGESEL _sendDataByte
0243 2000      00963         CALL    _sendDataByte
0244 0000      00964         PAGESEL $
               00965 ;       .line   739; "extruder2.c"      sendDataByte(temperatureLimit0);
0245 0000 0000 00966         BANKSEL _temperatureLimit0
0247 0800      00967         MOVF    _temperatureLimit0,W
0248 0000      00968         PAGESEL _sendDataByte
0249 2000      00969         CALL    _sendDataByte
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 19


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
024A 0000      00970         PAGESEL $
               00971 ;       .line   740; "extruder2.c"      sendDataByte(temperatureLimit1);
024B 0000 0000 00972         BANKSEL _temperatureLimit1
024D 0800      00973         MOVF    _temperatureLimit1,W
024E 0000      00974         PAGESEL _sendDataByte
024F 2000      00975         CALL    _sendDataByte
0250 0000      00976         PAGESEL $
               00977 ;       .line   741; "extruder2.c"      sendDataByte(lastTemperature);
0251 0000 0000 00978         BANKSEL _lastTemperature
0253 0800      00979         MOVF    _lastTemperature,W
0254 0000      00980         PAGESEL _sendDataByte
0255 2000      00981         CALL    _sendDataByte
0256 0000      00982         PAGESEL $
               00983 ;       .line   742; "extruder2.c"      sendDataByte(temperatureNotUpdatedCounter);
0257 0000 0000 00984         BANKSEL _temperatureNotUpdatedCounter
0259 0800      00985         MOVF    _temperatureNotUpdatedCounter,W
025A 0000      00986         PAGESEL _sendDataByte
025B 2000      00987         CALL    _sendDataByte
025C 0000      00988         PAGESEL $
               00989 ;       .line   743; "extruder2.c"      endMessage();
025D 0000      00990         PAGESEL _endMessage
025E 2000      00991         CALL    _endMessage
025F 0000      00992         PAGESEL $
               00993 ;       .line   744; "extruder2.c"      break;
0260 2800      00994         GOTO    _00309_DS_
0261           00995 _00307_DS_
               00996 ;       .line   747; "extruder2.c"      solenoid(1);
0261 3001      00997         MOVLW   0x01
0262 2000      00998         CALL    _solenoid
               00999 ;       .line   748; "extruder2.c"      break;
0263 2800      01000         GOTO    _00309_DS_
0264           01001 _00308_DS_
               01002 ;       .line   751; "extruder2.c"      solenoid(0);
0264 3000      01003         MOVLW   0x00
0265 2000      01004         CALL    _solenoid
0266           01005 _00309_DS_
0266 0000 0000 01006         BANKSEL _currentPosition
0268 0008      01007         RETURN  
               01008 ; exit point of _processCommand
               01009 
               01010 ;***
               01011 ;  pBlock Stats: dbName = C
               01012 ;***
               01013 ;entry:  _checkTemperature      ;Function start
               01014 ; 2 exit points
               01015 ;has an exit
               01016 ;functions called:
               01017 ;   _delay_10us
               01018 ;   _delay_10us
               01019 ;   _delay_10us
               01020 ;   _delay_10us
               01021 ;   _delay_10us
               01022 ;   _delay_10us
               01023 ;   _delay_10us
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 20


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01024 ;   _delay_10us
               01025 ;   _delay_10us
               01026 ;   _delay_10us
               01027 ;2 compiler assigned registers:
               01028 ;   r0x1020
               01029 ;   r0x1021
               01030 ;; Starting pCode block
0269           01031 _checkTemperature       ;Function start
               01032 ; 2 exit points
               01033 ;       .line   489; "extruder2.c"      for (i=temperatureNotUpdatedCounter; i>0; i--) {
0269 0000 0000 01034         BANKSEL _temperatureNotUpdatedCounter
026B 0800      01035         MOVF    _temperatureNotUpdatedCounter,W
026C 0000 0000 01036         BANKSEL r0x1020
026E 0080      01037         MOVWF   r0x1020
026F           01038 _00261_DS_
026F 3000      01039         MOVLW   0x00
0270 0000 0000 01040         BANKSEL r0x1020
0272 0400      01041         IORWF   r0x1020,W
0273 1903      01042         BTFSC   STATUS,2
0274 2800      01043         GOTO    _00267_DS_
0275 3001      01044         MOVLW   0x01
0276 0080      01045         MOVWF   r0x1021
0277 2800      01046         GOTO    _00268_DS_
0278           01047 _00267_DS_
0278 0000 0000 01048         BANKSEL r0x1021
027A 0180      01049         CLRF    r0x1021
027B           01050 _00268_DS_
027B 3000      01051         MOVLW   0x00
027C 0000 0000 01052         BANKSEL r0x1021
027E 0400      01053         IORWF   r0x1021,W
027F 1903      01054         BTFSC   STATUS,2
0280 2800      01055         GOTO    _00264_DS_
0281 0000      01056         nop
               01057         
               01058 ;       .line   489; "extruder2.c"      for (i=temperatureNotUpdatedCounter; i>0; i--) {
0282 0000 0000 01059         BANKSEL r0x1020
0284 0380      01060         DECF    r0x1020,F
0285 2800      01061         GOTO    _00261_DS_
0286           01062 _00264_DS_
               01063 ;       .line   498; "extruder2.c"      T0CS = 0;
0286 0000 0000 01064         BANKSEL _OPTION_REG_bits
0288 1280      01065         BCF     _OPTION_REG_bits,5
               01066 ;       .line   499; "extruder2.c"      PSA = 0;
0289 1180      01067         BCF     _OPTION_REG_bits,3
               01068 ;       .line   500; "extruder2.c"      CMCON = BIN(00000010);
028A 3002      01069         MOVLW   0x02
028B 0000 0000 01070         BANKSEL _CMCON
028D 0080      01071         MOVWF   _CMCON
               01072 ;       .line   503; "extruder2.c"      VRCON = BIN(10000000) | temperatureVRef;
028E 3080      01073         MOVLW   0x80
028F 0000 0000 01074         BANKSEL _temperatureVRef
0291 0400      01075         IORWF   _temperatureVRef,W
0292 0000 0000 01076         BANKSEL _VRCON
0294 0080      01077         MOVWF   _VRCON
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 21


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01078 ;       .line   504; "extruder2.c"      delay_10us();
0295 0000      01079         PAGESEL _delay_10us
0296 2000      01080         CALL    _delay_10us
0297 0000      01081         PAGESEL $
               01082 ;       .line   508; "extruder2.c"      GIE = 0;
0298 0000 0000 01083         BANKSEL _INTCON_bits
029A 1380      01084         BCF     _INTCON_bits,7
               01085 ;       .line   509; "extruder2.c"      T0IF = 0;
029B 1100      01086         BCF     _INTCON_bits,2
               01087 ;       .line   510; "extruder2.c"      portaval &= BIN(00111101);
029C 303D      01088         MOVLW   0x3d
029D 0000 0000 01089         BANKSEL _portaval
029F 0580      01090         ANDWF   _portaval,F
               01091 ;       .line   511; "extruder2.c"      portaval |= BIN(10000000);
02A0 1780      01092         BSF     _portaval,7
               01093 ;       .line   512; "extruder2.c"      TRISA = BIN(01000010) | PORTATRIS;
02A1 3062      01094         MOVLW   0x62
02A2 0000 0000 01095         BANKSEL _TRISA
02A4 0080      01096         MOVWF   _TRISA
               01097 ;       .line   513; "extruder2.c"      PORTA = portaval;  //must be set after TRISA
02A5 0000 0000 01098         BANKSEL _portaval
02A7 0800      01099         MOVF    _portaval,W
02A8 0000 0000 01100         BANKSEL _PORTA
02AA 0080      01101         MOVWF   _PORTA
               01102 ;       .line   514; "extruder2.c"      TMR0 = 0; 
02AB 0180      01103         CLRF    _TMR0
               01104 ;       .line   515; "extruder2.c"      interruptTemp = 0;
02AC 0000 0000 01105         BANKSEL _interruptTemp
02AE 0180      01106         CLRF    _interruptTemp
               01107 ;       .line   516; "extruder2.c"      GIE = 1;
02AF 0000 0000 01108         BANKSEL _INTCON_bits
02B1 1780      01109         BSF     _INTCON_bits,7
02B2           01110 _00248_DS_
               01111 ;       .line   522; "extruder2.c"      while (C2OUT) 
02B2 0000 0000 01112         BANKSEL _CMCON_bits
02B4 1B80      01113         BTFSC   _CMCON_bits,7
02B5 2800      01114         GOTO    _00248_DS_
               01115 ;       .line   524; "extruder2.c"      GIE = 0;
02B6 1380      01116         BCF     _INTCON_bits,7
               01117 ;       .line   525; "extruder2.c"      tmpLastTemperature = TMR0;
02B7 0800      01118         MOVF    _TMR0,W
02B8 0000 0000 01119         BANKSEL r0x1020
02BA 0080      01120         MOVWF   r0x1020
               01121 ;       .line   526; "extruder2.c"      if (T0IF) {
02BB 0000 0000 01122         BANKSEL _INTCON_bits
02BD 1D00      01123         BTFSS   _INTCON_bits,2
02BE 2800      01124         GOTO    _00252_DS_
               01125 ;       .line   527; "extruder2.c"      tmpLastTemperature = 255;
02BF 30FF      01126         MOVLW   0xff
02C0 0000 0000 01127         BANKSEL r0x1020
02C2 0080      01128         MOVWF   r0x1020
02C3           01129 _00252_DS_
               01130 ;       .line   529; "extruder2.c"      if (interruptTemp == 1) {
02C3 0000 0000 01131         BANKSEL _interruptTemp
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 22


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
02C5 0800      01132         MOVF    _interruptTemp,W
02C6 3A01      01133         XORLW   0x01
02C7 1D03      01134         BTFSS   STATUS,2
02C8 2800      01135         GOTO    _00254_DS_
               01136 ;       .line   530; "extruder2.c"      temperatureNotUpdatedCounter++;
02C9 0000 0000 01137         BANKSEL _temperatureNotUpdatedCounter
02CB 0A80      01138         INCF    _temperatureNotUpdatedCounter,F
02CC 2800      01139         GOTO    _00255_DS_
02CD           01140 _00254_DS_
               01141 ;       .line   532; "extruder2.c"      lastTemperature = tmpLastTemperature;
02CD 0000 0000 01142         BANKSEL r0x1020
02CF 0800      01143         MOVF    r0x1020,W
02D0 0000 0000 01144         BANKSEL _lastTemperature
02D2 0080      01145         MOVWF   _lastTemperature
               01146 ;       .line   533; "extruder2.c"      temperatureNotUpdatedCounter = 0;
02D3 0000 0000 01147         BANKSEL _temperatureNotUpdatedCounter
02D5 0180      01148         CLRF    _temperatureNotUpdatedCounter
02D6           01149 _00255_DS_
               01150 ;       .line   535; "extruder2.c"      GIE = 1;
02D6 0000 0000 01151         BANKSEL _INTCON_bits
02D8 1780      01152         BSF     _INTCON_bits,7
               01153 ;       .line   537; "extruder2.c"      if (temperatureNotUpdatedCounter == 255)
02D9 0000 0000 01154         BANKSEL _temperatureNotUpdatedCounter
02DB 0800      01155         MOVF    _temperatureNotUpdatedCounter,W
               01156 ;       .line   538; "extruder2.c"      temperatureNotUpdatedCounter--;  //to prevent an overflow
02DC 3AFF      01157         XORLW   0xff
               01158 ;       .line   540; "extruder2.c"      delay_10us(); //to handle interrupts
02DD 1903      01159         BTFSC   STATUS,2
02DE 0380      01160         DECF    _temperatureNotUpdatedCounter,F
02DF 0000      01161         PAGESEL _delay_10us
02E0 2000      01162         CALL    _delay_10us
02E1 0000      01163         PAGESEL $
               01164 ;       .line   545; "extruder2.c"      GIE = 0;
02E2 0000 0000 01165         BANKSEL _INTCON_bits
02E4 1380      01166         BCF     _INTCON_bits,7
               01167 ;       .line   546; "extruder2.c"      portaval &= BIN(00111101);
02E5 303D      01168         MOVLW   0x3d
02E6 0000 0000 01169         BANKSEL _portaval
02E8 0580      01170         ANDWF   _portaval,F
               01171 ;       .line   547; "extruder2.c"      TRISA = BIN(00000000) | PORTATRIS;
02E9 3020      01172         MOVLW   0x20
02EA 0000 0000 01173         BANKSEL _TRISA
02EC 0080      01174         MOVWF   _TRISA
               01175 ;       .line   548; "extruder2.c"      PORTA = portaval;
02ED 0000 0000 01176         BANKSEL _portaval
02EF 0800      01177         MOVF    _portaval,W
02F0 0000 0000 01178         BANKSEL _PORTA
02F2 0080      01179         MOVWF   _PORTA
               01180 ;       .line   549; "extruder2.c"      GIE = 1;
02F3 1780      01181         BSF     _INTCON_bits,7
               01182 ;       .line   552; "extruder2.c"      VRCON = BIN(10100000); //should be 1010xxxx to not output value
02F4 30A0      01183         MOVLW   0xa0
02F5 0000 0000 01184         BANKSEL _VRCON
02F7 0080      01185         MOVWF   _VRCON
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 23


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01186 ;       .line   555; "extruder2.c"      delay_10us();
02F8 0000      01187         PAGESEL _delay_10us
02F9 2000      01188         CALL    _delay_10us
02FA 0000      01189         PAGESEL $
02FB           01190 _00258_DS_
               01191 ;       .line   557; "extruder2.c"      while (!C2OUT)
02FB 0000 0000 01192         BANKSEL _CMCON_bits
02FD 1F80      01193         BTFSS   _CMCON_bits,7
02FE 2800      01194         GOTO    _00258_DS_
               01195 ;       .line   560; "extruder2.c"      delay_10us();
02FF 0000      01196         PAGESEL _delay_10us
0300 2000      01197         CALL    _delay_10us
0301 0000      01198         PAGESEL $
               01199 ;       .line   561; "extruder2.c"      delay_10us();
0302 0000      01200         PAGESEL _delay_10us
0303 2000      01201         CALL    _delay_10us
0304 0000      01202         PAGESEL $
               01203 ;       .line   563; "extruder2.c"      TRISA = BIN(11000010) | PORTATRIS;
0305 30E2      01204         MOVLW   0xe2
0306 0000 0000 01205         BANKSEL _TRISA
0308 0080      01206         MOVWF   _TRISA
               01207 ;       .line   564; "extruder2.c"      VRCON = 0;  // Turn off vref
0309 0180      01208         CLRF    _VRCON
030A 0000 0000 01209         BANKSEL _currentPosition
030C 0008      01210         RETURN  
               01211 ; exit point of _checkTemperature
               01212 
               01213 ;***
               01214 ;  pBlock Stats: dbName = C
               01215 ;***
               01216 ;entry:  _motorTick     ;Function start
               01217 ; 2 exit points
               01218 ;has an exit
               01219 ;functions called:
               01220 ;   _change_log
               01221 ;   _extruder_stop
               01222 ;   _sendMessageISR
               01223 ;   _sendDataByteISR
               01224 ;   _sendDataByteISR
               01225 ;   _endMessageISR
               01226 ;   _change_log
               01227 ;   _extruder_stop
               01228 ;   _sendMessageISR
               01229 ;   _sendDataByteISR
               01230 ;   _sendDataByteISR
               01231 ;   _endMessageISR
               01232 ;4 compiler assigned registers:
               01233 ;   r0x1022
               01234 ;   r0x1023
               01235 ;   r0x1024
               01236 ;   r0x1025
               01237 ;; Starting pCode block
030D           01238 _motorTick      ;Function start
               01239 ; 2 exit points
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 24


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01240 ;       .line   440; "extruder2.c"      RBIF = 0;
030D 0000 0000 01241         BANKSEL _INTCON_bits
030F 1000      01242         BCF     _INTCON_bits,0
               01243 ;       .line   442; "extruder2.c"      change_log();  //not correct for UNIVERSIAL_PCB
0310 2000      01244         CALL    _change_log
               01245 ;       .line   444; "extruder2.c"      if (extrude_click) {
0311 0000 0000 01246         BANKSEL _extrude_click
0313 0800      01247         MOVF    _extrude_click,W
0314 1903      01248         BTFSC   STATUS,2
0315 2800      01249         GOTO    _00239_DS_
               01250 ;       .line   447; "extruder2.c"      if (currentDirection)
0316 0000 0000 01251         BANKSEL _currentDirection
0318 0800      01252         MOVF    _currentDirection,W
0319 1903      01253         BTFSC   STATUS,2
031A 2800      01254         GOTO    _00233_DS_
               01255 ;       .line   448; "extruder2.c"      currentPosition.ival--;
031B 0000 0000 01256         BANKSEL _currentPosition
031D 0800      01257         MOVF    (_currentPosition + 0),W
031E 0000 0000 01258         BANKSEL r0x1022
0320 0080      01259         MOVWF   r0x1022
0321 0000 0000 01260         BANKSEL _currentPosition
0323 0800      01261         MOVF    (_currentPosition + 1),W
0324 0000 0000 01262         BANKSEL r0x1023
0326 0080      01263         MOVWF   r0x1023
0327 30FF      01264         MOVLW   0xff
0328 0780      01265         ADDWF   r0x1022,F
0329 1C03      01266         BTFSS   STATUS,0
032A 0380      01267         DECF    r0x1023,F
               01268 ;gen.c:9306: size=1/2, offset=0, AOP_TYPE(res)=13
032B 0800      01269         MOVF    r0x1022,W
032C 0000 0000 01270         BANKSEL _currentPosition
032E 0080      01271         MOVWF   (_currentPosition + 0)
               01272 ;gen.c:9306: size=0/2, offset=1, AOP_TYPE(res)=13
032F 0000 0000 01273         BANKSEL r0x1023
0331 0800      01274         MOVF    r0x1023,W
0332 0000 0000 01275         BANKSEL _currentPosition
0334 0080      01276         MOVWF   (_currentPosition + 1)
0335 2800      01277         GOTO    _00234_DS_
0336           01278 _00233_DS_
               01279 ;       .line   450; "extruder2.c"      currentPosition.ival++;
0336 0000 0000 01280         BANKSEL _currentPosition
0338 0800      01281         MOVF    (_currentPosition + 0),W
0339 0000 0000 01282         BANKSEL r0x1022
033B 0080      01283         MOVWF   r0x1022
033C 0000 0000 01284         BANKSEL _currentPosition
033E 0800      01285         MOVF    (_currentPosition + 1),W
033F 0000 0000 01286         BANKSEL r0x1023
0341 0080      01287         MOVWF   r0x1023
0342 0A80      01288         INCF    r0x1022,F
0343 1903      01289         BTFSC   STATUS,2
0344 0A80      01290         INCF    r0x1023,F
               01291 ;gen.c:9306: size=1/2, offset=0, AOP_TYPE(res)=13
0345 0800      01292         MOVF    r0x1022,W
0346 0000 0000 01293         BANKSEL _currentPosition
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 25


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0348 0080      01294         MOVWF   (_currentPosition + 0)
               01295 ;gen.c:9306: size=0/2, offset=1, AOP_TYPE(res)=13
0349 0000 0000 01296         BANKSEL r0x1023
034B 0800      01297         MOVF    r0x1023,W
034C 0000 0000 01298         BANKSEL _currentPosition
034E 0080      01299         MOVWF   (_currentPosition + 1)
034F           01300 _00234_DS_
               01301 ;       .line   452; "extruder2.c"      if ((seekSpeed != 0) && (currentPosition.ival == seekPosition.ival)) {
034F 3000      01302         MOVLW   0x00
0350 0000 0000 01303         BANKSEL _seekSpeed
0352 0400      01304         IORWF   _seekSpeed,W
0353 1903      01305         BTFSC   STATUS,2
0354 2800      01306         GOTO    _00239_DS_
0355 0000 0000 01307         BANKSEL _currentPosition
0357 0800      01308         MOVF    (_currentPosition + 0),W
0358 0000 0000 01309         BANKSEL r0x1022
035A 0080      01310         MOVWF   r0x1022
035B 0000 0000 01311         BANKSEL _currentPosition
035D 0800      01312         MOVF    (_currentPosition + 1),W
035E 0000 0000 01313         BANKSEL r0x1023
0360 0080      01314         MOVWF   r0x1023
0361 0000 0000 01315         BANKSEL _seekPosition
0363 0800      01316         MOVF    (_seekPosition + 0),W
0364 0000 0000 01317         BANKSEL r0x1024
0366 0080      01318         MOVWF   r0x1024
0367 0000 0000 01319         BANKSEL _seekPosition
0369 0800      01320         MOVF    (_seekPosition + 1),W
036A 0000 0000 01321         BANKSEL r0x1025
036C 0080      01322         MOVWF   r0x1025
036D 0800      01323         MOVF    r0x1024,W
036E 0600      01324         XORWF   r0x1022,W
036F 1D03      01325         BTFSS   STATUS,2
0370 2800      01326         GOTO    _00239_DS_
0371 0800      01327         MOVF    r0x1025,W
               01328 ;       .line   454; "extruder2.c"      extruder_stop();
0372 0600      01329         XORWF   r0x1023,W
               01330 ;       .line   458; "extruder2.c"      if (material_click) {
0373 1903      01331         BTFSC   STATUS,2
0374 2000      01332         CALL    _extruder_stop
0375           01333 _00239_DS_
0375 3000      01334         MOVLW   0x00
0376 0000 0000 01335         BANKSEL _material_click
0378 0400      01336         IORWF   _material_click,W
0379 1903      01337         BTFSC   STATUS,2
037A 2800      01338         GOTO    _00243_DS_
               01339 ;       .line   459; "extruder2.c"      if (sendMessageISR(seekNotify)) { 
037B 0000 0000 01340         BANKSEL _seekNotify
037D 0800      01341         MOVF    _seekNotify,W
037E 0000      01342         PAGESEL _sendMessageISR
037F 2000      01343         CALL    _sendMessageISR
0380 0000      01344         PAGESEL $
0381 0000 0000 01345         BANKSEL r0x1022
0383 0080      01346         MOVWF   r0x1022
0384 0800      01347         MOVF    r0x1022,W
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 26


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0385 1903      01348         BTFSC   STATUS,2
0386 2800      01349         GOTO    _00243_DS_
               01350 ;       .line   463; "extruder2.c"      sendDataByteISR(CMD_ISEMPTY);
0387 3008      01351         MOVLW   0x08
0388 0000      01352         PAGESEL _sendDataByteISR
0389 2000      01353         CALL    _sendDataByteISR
038A 0000      01354         PAGESEL $
               01355 ;       .line   464; "extruder2.c"      sendDataByteISR(1);
038B 3001      01356         MOVLW   0x01
038C 0000      01357         PAGESEL _sendDataByteISR
038D 2000      01358         CALL    _sendDataByteISR
038E 0000      01359         PAGESEL $
               01360 ;       .line   465; "extruder2.c"      endMessageISR();
038F 0000      01361         PAGESEL _endMessageISR
0390 2000      01362         CALL    _endMessageISR
0391 0000      01363         PAGESEL $
0392           01364 _00243_DS_
0392 0000 0000 01365         BANKSEL _currentPosition
               01366         
0394 0008      01367         RETURN  
               01368 ; exit point of _motorTick
               01369 
               01370 ;***
               01371 ;  pBlock Stats: dbName = C
               01372 ;***
               01373 ;entry:  _timerTick     ;Function start
               01374 ; 2 exit points
               01375 ;has an exit
               01376 ;functions called:
               01377 ;   _heater_off
               01378 ;   _heater_off
               01379 ;   _heater_off
               01380 ;   _heater_off
               01381 ;   _heater_on
               01382 ;   _heater_off
               01383 ;   _heater_off
               01384 ;   _heater_off
               01385 ;   _heater_off
               01386 ;   _heater_on
               01387 ;; Starting pCode block
0395           01388 _timerTick      ;Function start
               01389 ; 2 exit points
               01390 ;unsigned compare: left < lit(0x10=16), size=1
               01391 ;       .line   385; "extruder2.c"      if ((lastTemperature < 0x10) || (temperatureNotUpdatedCounter > 100)) { 
0395 3010      01392         MOVLW   0x10
0396 0000 0000 01393         BANKSEL _lastTemperature
0398 0200      01394         SUBWF   _lastTemperature,W
0399 1C03      01395         BTFSS   STATUS,0
039A 2800      01396         GOTO    _00194_DS_
               01397 ;genSkipc:3694: created from rifx:0xbf8b93d0
               01398 ;swapping arguments (AOP_TYPEs 1/3)
               01399 ;unsigned compare: left >= lit(0x65=101), size=1
039B 3065      01400         MOVLW   0x65
039C 0000 0000 01401         BANKSEL _temperatureNotUpdatedCounter
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 27


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
039E 0200      01402         SUBWF   _temperatureNotUpdatedCounter,W
039F 1C03      01403         BTFSS   STATUS,0
03A0 2800      01404         GOTO    _00195_DS_
               01405 ;genSkipc:3694: created from rifx:0xbf8b93d0
03A1           01406 _00194_DS_
               01407 ;       .line   388; "extruder2.c"      heater_off();  
03A1 2000      01408         CALL    _heater_off
03A2 2800      01409         GOTO    _00196_DS_
03A3           01410 _00195_DS_
               01411 ;       .line   389; "extruder2.c"      } else if (lastTemperature <= temperatureLimit1) {
03A3 0000 0000 01412         BANKSEL _lastTemperature
03A5 0800      01413         MOVF    _lastTemperature,W
03A6 0000 0000 01414         BANKSEL _temperatureLimit1
03A8 0200      01415         SUBWF   _temperatureLimit1,W
03A9 1C03      01416         BTFSS   STATUS,0
03AA 2800      01417         GOTO    _00192_DS_
               01418 ;genSkipc:3694: created from rifx:0xbf8b93d0
               01419 ;       .line   391; "extruder2.c"      heater_off();
03AB 2000      01420         CALL    _heater_off
03AC 2800      01421         GOTO    _00196_DS_
03AD           01422 _00192_DS_
               01423 ;       .line   392; "extruder2.c"      } else if ((lastTemperature <= temperatureLimit0) &&
03AD 0000 0000 01424         BANKSEL _lastTemperature
03AF 0800      01425         MOVF    _lastTemperature,W
03B0 0000 0000 01426         BANKSEL _temperatureLimit0
03B2 0200      01427         SUBWF   _temperatureLimit0,W
03B3 1C03      01428         BTFSS   STATUS,0
03B4 2800      01429         GOTO    _00187_DS_
               01430 ;genSkipc:3694: created from rifx:0xbf8b93d0
               01431 ;       .line   393; "extruder2.c"      (heatCounter >= requestedHeat1) && (requestedHeat1 != 255)) {
03B5 0000 0000 01432         BANKSEL _requestedHeat1
03B7 0800      01433         MOVF    _requestedHeat1,W
03B8 0000 0000 01434         BANKSEL _heatCounter
03BA 0200      01435         SUBWF   _heatCounter,W
03BB 1C03      01436         BTFSS   STATUS,0
03BC 2800      01437         GOTO    _00187_DS_
               01438 ;genSkipc:3694: created from rifx:0xbf8b93d0
03BD 0000 0000 01439         BANKSEL _requestedHeat1
03BF 0800      01440         MOVF    _requestedHeat1,W
               01441 ;       .line   395; "extruder2.c"      heater_off();
03C0 3AFF      01442         XORLW   0xff
03C1 1903      01443         BTFSC   STATUS,2
03C2 2800      01444         GOTO    _00187_DS_
03C3 2000      01445         CALL    _heater_off
03C4 2800      01446         GOTO    _00196_DS_
03C5           01447 _00187_DS_
               01448 ;       .line   396; "extruder2.c"      } else if ((lastTemperature > temperatureLimit0) &&
03C5 0000 0000 01449         BANKSEL _lastTemperature
03C7 0800      01450         MOVF    _lastTemperature,W
03C8 0000 0000 01451         BANKSEL _temperatureLimit0
03CA 0200      01452         SUBWF   _temperatureLimit0,W
03CB 1803      01453         BTFSC   STATUS,0
03CC 2800      01454         GOTO    _00182_DS_
               01455 ;genSkipc:3694: created from rifx:0xbf8b93d0
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 28


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01456 ;       .line   397; "extruder2.c"      (heatCounter >= requestedHeat0) && (requestedHeat0 != 255)) {
03CD 0000 0000 01457         BANKSEL _requestedHeat0
03CF 0800      01458         MOVF    _requestedHeat0,W
03D0 0000 0000 01459         BANKSEL _heatCounter
03D2 0200      01460         SUBWF   _heatCounter,W
03D3 1C03      01461         BTFSS   STATUS,0
03D4 2800      01462         GOTO    _00182_DS_
               01463 ;genSkipc:3694: created from rifx:0xbf8b93d0
03D5 0000 0000 01464         BANKSEL _requestedHeat0
03D7 0800      01465         MOVF    _requestedHeat0,W
               01466 ;       .line   399; "extruder2.c"      heater_off();
03D8 3AFF      01467         XORLW   0xff
03D9 1903      01468         BTFSC   STATUS,2
03DA 2800      01469         GOTO    _00182_DS_
03DB 2000      01470         CALL    _heater_off
03DC 2800      01471         GOTO    _00196_DS_
03DD           01472 _00182_DS_
               01473 ;       .line   402; "extruder2.c"      heater_on();
03DD 2000      01474         CALL    _heater_on
03DE           01475 _00196_DS_
               01476 ;       .line   404; "extruder2.c"      heatCounter++;
03DE 0000 0000 01477         BANKSEL _heatCounter
03E0 0A80      01478         INCF    _heatCounter,F
               01479 ;       .line   405; "extruder2.c"      TMR1H = HEATER_PWM_PERIOD;
03E1 30FF      01480         MOVLW   0xff
03E2 0000 0000 01481         BANKSEL _TMR1H
03E4 0080      01482         MOVWF   _TMR1H
               01483 ;       .line   406; "extruder2.c"      TMR1L = 0;
03E5 0180      01484         CLRF    _TMR1L
               01485 ;       .line   408; "extruder2.c"      if(solenoid_on)
03E6 0000 0000 01486         BANKSEL _solenoid_on
03E8 0800      01487         MOVF    _solenoid_on,W
03E9 1903      01488         BTFSC   STATUS,2
03EA 2800      01489         GOTO    _00205_DS_
               01490 ;       .line   410; "extruder2.c"      if(pulseCounter2 == 0)
03EB 0000 0000 01491         BANKSEL _pulseCounter2
03ED 0800      01492         MOVF    _pulseCounter2,W
03EE 1D03      01493         BTFSS   STATUS,2
03EF 2800      01494         GOTO    _00202_DS_
               01495 ;       .line   412; "extruder2.c"      if(pulseCounter1 == 0)
03F0 0000 0000 01496         BANKSEL _pulseCounter1
03F2 0800      01497         MOVF    _pulseCounter1,W
03F3 1D03      01498         BTFSS   STATUS,2
03F4 2800      01499         GOTO    _00199_DS_
               01500 ;       .line   414; "extruder2.c"      portaval &= BIN(11111010);
03F5 30FA      01501         MOVLW   0xfa
03F6 0000 0000 01502         BANKSEL _portaval
03F8 0580      01503         ANDWF   _portaval,F
               01504 ;       .line   415; "extruder2.c"      PORTA = portaval;
03F9 0800      01505         MOVF    _portaval,W
03FA 0000 0000 01506         BANKSEL _PORTA
03FC 0080      01507         MOVWF   _PORTA
               01508 ;       .line   416; "extruder2.c"      solenoid_on = 0;
03FD 0000 0000 01509         BANKSEL _solenoid_on
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 29


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
03FF 0180      01510         CLRF    _solenoid_on
0400 2800      01511         GOTO    _00205_DS_
0401           01512 _00199_DS_
               01513 ;       .line   419; "extruder2.c"      pulseCounter1--;
0401 0000 0000 01514         BANKSEL _pulseCounter1
0403 0380      01515         DECF    _pulseCounter1,F
               01516 ;       .line   420; "extruder2.c"      pulseCounter2 = PC2;
0404 3014      01517         MOVLW   0x14
0405 0000 0000 01518         BANKSEL _pulseCounter2
0407 0080      01519         MOVWF   _pulseCounter2
0408 2800      01520         GOTO    _00205_DS_
0409           01521 _00202_DS_
               01522 ;       .line   423; "extruder2.c"      pulseCounter2--;
0409 0000 0000 01523         BANKSEL _pulseCounter2
040B 0380      01524         DECF    _pulseCounter2,F
040C           01525 _00205_DS_
040C 0000 0000 01526         BANKSEL _currentPosition
040E 0008      01527         RETURN  
               01528 ; exit point of _timerTick
               01529 
               01530 ;***
               01531 ;  pBlock Stats: dbName = C
               01532 ;***
               01533 ;entry:  _setSpeed      ;Function start
               01534 ; 2 exit points
               01535 ;has an exit
               01536 ;functions called:
               01537 ;   _extruder_stop
               01538 ;   _extruder_forward
               01539 ;   _extruder_reverse
               01540 ;   _pwmSet
               01541 ;   _extruder_stop
               01542 ;   _extruder_forward
               01543 ;   _extruder_reverse
               01544 ;   _pwmSet
               01545 ;1 compiler assigned register :
               01546 ;   r0x101E
               01547 ;; Starting pCode block
040F           01548 _setSpeed       ;Function start
               01549 ; 2 exit points
               01550 ;       .line   354; "extruder2.c"      void setSpeed(byte direction)
040F 0000 0000 01551         BANKSEL r0x101E
0411 0080      01552         MOVWF   r0x101E
               01553 ;       .line   356; "extruder2.c"      if (seekSpeed == 0) 
0412 0000 0000 01554         BANKSEL _seekSpeed
0414 0800      01555         MOVF    _seekSpeed,W
0415 1D03      01556         BTFSS   STATUS,2
0416 2800      01557         GOTO    _00174_DS_
               01558 ;       .line   358; "extruder2.c"      extruder_stop();
0417 2000      01559         CALL    _extruder_stop
               01560 ;       .line   359; "extruder2.c"      return;
0418 2800      01561         GOTO    _00176_DS_
0419           01562 _00174_DS_
               01563 ;       .line   362; "extruder2.c"      if (direction == 0) 
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 30


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0419 3000      01564         MOVLW   0x00
041A 0000 0000 01565         BANKSEL r0x101E
041C 0400      01566         IORWF   r0x101E,W
041D 1D03      01567         BTFSS   STATUS,2
041E 2800      01568         GOTO    _00171_DS_
               01569 ;       .line   363; "extruder2.c"      extruder_forward();
041F 2000      01570         CALL    _extruder_forward
0420 2800      01571         GOTO    _00175_DS_
0421           01572 _00171_DS_
               01573 ;       .line   365; "extruder2.c"      extruder_reverse();
0421 2000      01574         CALL    _extruder_reverse
0422           01575 _00175_DS_
               01576 ;       .line   367; "extruder2.c"      pwmSet(0);    
0422 3000      01577         MOVLW   0x00
0423 2000      01578         CALL    _pwmSet
               01579 ;       .line   368; "extruder2.c"      currentDirection = direction;
0424 0000 0000 01580         BANKSEL r0x101E
0426 0800      01581         MOVF    r0x101E,W
0427 0000 0000 01582         BANKSEL _currentDirection
0429 0080      01583         MOVWF   _currentDirection
042A 0000 0000 01584         BANKSEL _currentPosition
               01585         
042C           01586 _00176_DS_
042C 0008      01587         RETURN  
               01588 ; exit point of _setSpeed
               01589 
               01590 ;***
               01591 ;  pBlock Stats: dbName = C
               01592 ;***
               01593 ;entry:  _pwmSet        ;Function start
               01594 ; 2 exit points
               01595 ;has an exit
               01596 ;1 compiler assigned register :
               01597 ;   r0x101F
               01598 ;; Starting pCode block
042D           01599 _pwmSet ;Function start
               01600 ; 2 exit points
               01601 ;       .line   326; "extruder2.c"      void pwmSet(byte fastOverRide)
042D 0000 0000 01602         BANKSEL r0x101F
042F 0080      01603         MOVWF   r0x101F
               01604 ;       .line   328; "extruder2.c"      CCP1CON = BIN(00111100);
0430 303C      01605         MOVLW   0x3c
0431 0000 0000 01606         BANKSEL _CCP1CON
0433 0080      01607         MOVWF   _CCP1CON
               01608 ;       .line   329; "extruder2.c"      CCPR1L = seekSpeed;
0434 0000 0000 01609         BANKSEL _seekSpeed
0436 0800      01610         MOVF    _seekSpeed,W
0437 0000 0000 01611         BANKSEL _CCPR1L
0439 0080      01612         MOVWF   _CCPR1L
               01613 ;       .line   330; "extruder2.c"      if (fastOverRide || seekSpeed == 255)
043A 0000 0000 01614         BANKSEL r0x101F
043C 0800      01615         MOVF    r0x101F,W
043D 1D03      01616         BTFSS   STATUS,2
043E 2800      01617         GOTO    _00163_DS_
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 31


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
043F 0000 0000 01618         BANKSEL _seekSpeed
0441 0800      01619         MOVF    _seekSpeed,W
0442 3AFF      01620         XORLW   0xff
0443 1D03      01621         BTFSS   STATUS,2
0444 2800      01622         GOTO    _00164_DS_
0445           01623 _00163_DS_
               01624 ;       .line   331; "extruder2.c"      PR2 = 0;
0445 0000 0000 01625         BANKSEL _PR2
0447 0180      01626         CLRF    _PR2
0448 2800      01627         GOTO    _00165_DS_
0449           01628 _00164_DS_
               01629 ;       .line   333; "extruder2.c"      PR2 = PWMPeriod;
0449 0000 0000 01630         BANKSEL _PWMPeriod
044B 0800      01631         MOVF    _PWMPeriod,W
044C 0000 0000 01632         BANKSEL _PR2
044E 0080      01633         MOVWF   _PR2
044F           01634 _00165_DS_
044F 0000 0000 01635         BANKSEL _currentPosition
0451 0008      01636         RETURN  
               01637 ; exit point of _pwmSet
               01638 
               01639 ;***
               01640 ;  pBlock Stats: dbName = C
               01641 ;***
               01642 ;entry:  _init2 ;Function start
               01643 ; 2 exit points
               01644 ;has an exit
               01645 ;; Starting pCode block
0452           01646 _init2  ;Function start
               01647 ; 2 exit points
               01648 ;       .line   298; "extruder2.c"      PWMPeriod = 255;
0452 30FF      01649         MOVLW   0xff
0453 0000 0000 01650         BANKSEL _PWMPeriod
0455 0080      01651         MOVWF   _PWMPeriod
               01652 ;       .line   299; "extruder2.c"      currentDirection = 0;
0456 0000 0000 01653         BANKSEL _currentDirection
0458 0180      01654         CLRF    _currentDirection
               01655 ;       .line   300; "extruder2.c"      seekSpeed = 0;
0459 0000 0000 01656         BANKSEL _seekSpeed
045B 0180      01657         CLRF    _seekSpeed
               01658 ;       .line   301; "extruder2.c"      seekNotify = 255;
045C 30FF      01659         MOVLW   0xff
045D 0000 0000 01660         BANKSEL _seekNotify
045F 0080      01661         MOVWF   _seekNotify
               01662 ;       .line   302; "extruder2.c"      lastPortB = 0;
0460 0000 0000 01663         BANKSEL _lastPortB
0462 0180      01664         CLRF    _lastPortB
               01665 ;       .line   303; "extruder2.c"      lastPortA = 0;
0463 0000 0000 01666         BANKSEL _lastPortA
0465 0180      01667         CLRF    _lastPortA
               01668 ;       .line   304; "extruder2.c"      extrude_click = 0;
0466 0000 0000 01669         BANKSEL _extrude_click
0468 0180      01670         CLRF    _extrude_click
               01671 ;       .line   305; "extruder2.c"      material_click = 0;
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 32


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
0469 0000 0000 01672         BANKSEL _material_click
046B 0180      01673         CLRF    _material_click
               01674 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
               01675 ;       .line   306; "extruder2.c"      currentPosition.bytes[0] = 0;
046C 0000 0000 01676         BANKSEL _currentPosition
046E 0180      01677         CLRF    (_currentPosition + 0)
               01678 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
               01679 ;       .line   307; "extruder2.c"      currentPosition.bytes[1] = 0;
046F 0180      01680         CLRF    (_currentPosition + 1)
               01681 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
               01682 ;       .line   308; "extruder2.c"      seekPosition.bytes[0] = 0;
0470 0000 0000 01683         BANKSEL _seekPosition
0472 0180      01684         CLRF    (_seekPosition + 0)
               01685 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
               01686 ;       .line   309; "extruder2.c"      seekPosition.bytes[1] = 0;
0473 0180      01687         CLRF    (_seekPosition + 1)
               01688 ;       .line   310; "extruder2.c"      requestedHeat0 = 0;
0474 0000 0000 01689         BANKSEL _requestedHeat0
0476 0180      01690         CLRF    _requestedHeat0
               01691 ;       .line   311; "extruder2.c"      requestedHeat1 = 0;
0477 0000 0000 01692         BANKSEL _requestedHeat1
0479 0180      01693         CLRF    _requestedHeat1
               01694 ;       .line   312; "extruder2.c"      temperatureLimit0 = 0;
047A 0000 0000 01695         BANKSEL _temperatureLimit0
047C 0180      01696         CLRF    _temperatureLimit0
               01697 ;       .line   313; "extruder2.c"      temperatureLimit1 = 0;
047D 0000 0000 01698         BANKSEL _temperatureLimit1
047F 0180      01699         CLRF    _temperatureLimit1
               01700 ;       .line   314; "extruder2.c"      heatCounter = 0;
0480 0000 0000 01701         BANKSEL _heatCounter
0482 0180      01702         CLRF    _heatCounter
               01703 ;       .line   315; "extruder2.c"      lastTemperature = 255;
0483 30FF      01704         MOVLW   0xff
0484 0000 0000 01705         BANKSEL _lastTemperature
0486 0080      01706         MOVWF   _lastTemperature
               01707 ;       .line   316; "extruder2.c"      temperatureVRef = 0; //set to 0, should be set by the host software
0487 0000 0000 01708         BANKSEL _temperatureVRef
0489 0180      01709         CLRF    _temperatureVRef
               01710 ;       .line   317; "extruder2.c"      portaval = 0;
048A 0000 0000 01711         BANKSEL _portaval
048C 0180      01712         CLRF    _portaval
               01713 ;       .line   318; "extruder2.c"      PORTA = portaval;
048D 0800      01714         MOVF    _portaval,W
048E 0000 0000 01715         BANKSEL _PORTA
0490 0080      01716         MOVWF   _PORTA
               01717 ;       .line   319; "extruder2.c"      TMR1H = HEATER_PWM_PERIOD;
0491 30FF      01718         MOVLW   0xff
0492 0080      01719         MOVWF   _TMR1H
               01720 ;       .line   320; "extruder2.c"      TMR1L = 0;
0493 0180      01721         CLRF    _TMR1L
               01722 ;       .line   321; "extruder2.c"      temperatureNotUpdatedCounter=0;
0494 0000 0000 01723         BANKSEL _temperatureNotUpdatedCounter
0496 0180      01724         CLRF    _temperatureNotUpdatedCounter
0497 0008      01725         RETURN  
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 33


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01726 ; exit point of _init2
               01727 
               01728 ;***
               01729 ;  pBlock Stats: dbName = C
               01730 ;***
               01731 ;entry:  _solenoid      ;Function start
               01732 ; 2 exit points
               01733 ;has an exit
               01734 ;functions called:
               01735 ;   _solenoid_delay
               01736 ;   _solenoid_delay
               01737 ;1 compiler assigned register :
               01738 ;   r0x101E
               01739 ;; Starting pCode block
0498           01740 _solenoid       ;Function start
               01741 ; 2 exit points
               01742 ;       .line   207; "extruder2.c"      void solenoid(byte on)
0498 0000 0000 01743         BANKSEL r0x101E
049A 0080      01744         MOVWF   r0x101E
               01745 ;       .line   209; "extruder2.c"      portaval &= BIN(11111010);
049B 30FA      01746         MOVLW   0xfa
049C 0000 0000 01747         BANKSEL _portaval
049E 0580      01748         ANDWF   _portaval,F
               01749 ;       .line   210; "extruder2.c"      if(on)
049F 0000 0000 01750         BANKSEL r0x101E
04A1 0800      01751         MOVF    r0x101E,W
04A2 1903      01752         BTFSC   STATUS,2
04A3 2800      01753         GOTO    _00153_DS_
               01754 ;       .line   211; "extruder2.c"      portaval |= BIN(00000001);
04A4 0000 0000 01755         BANKSEL _portaval
04A6 1400      01756         BSF     _portaval,0
04A7 2800      01757         GOTO    _00154_DS_
04A8           01758 _00153_DS_
               01759 ;       .line   213; "extruder2.c"      portaval |= BIN(00000100);
04A8 0000 0000 01760         BANKSEL _portaval
04AA 1500      01761         BSF     _portaval,2
04AB           01762 _00154_DS_
               01763 ;       .line   214; "extruder2.c"      PORTA = portaval;       
04AB 0000 0000 01764         BANKSEL _portaval
04AD 0800      01765         MOVF    _portaval,W
04AE 0000 0000 01766         BANKSEL _PORTA
04B0 0080      01767         MOVWF   _PORTA
               01768 ;       .line   215; "extruder2.c"      solenoid_delay();
04B1 2000      01769         CALL    _solenoid_delay
04B2 0008      01770         RETURN  
               01771 ; exit point of _solenoid
               01772 
               01773 ;***
               01774 ;  pBlock Stats: dbName = C
               01775 ;***
               01776 ;entry:  _solenoid_delay        ;Function start
               01777 ; 2 exit points
               01778 ;has an exit
               01779 ;functions called:
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 34


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01780 ;   _pwmSet
               01781 ;   _pwmSet
               01782 ;; Starting pCode block
04B3           01783 _solenoid_delay ;Function start
               01784 ; 2 exit points
               01785 ;       .line   196; "extruder2.c"      pwmSet(1);
04B3 3001      01786         MOVLW   0x01
04B4 0000      01787         PAGESEL _pwmSet
04B5 2000      01788         CALL    _pwmSet
04B6 0000      01789         PAGESEL $
               01790 ;       .line   197; "extruder2.c"      pulseCounter1 = PC1;
04B7 3064      01791         MOVLW   0x64
04B8 0000 0000 01792         BANKSEL _pulseCounter1
04BA 0080      01793         MOVWF   _pulseCounter1
               01794 ;       .line   198; "extruder2.c"      pulseCounter2 = PC2; 
04BB 3014      01795         MOVLW   0x14
04BC 0000 0000 01796         BANKSEL _pulseCounter2
04BE 0080      01797         MOVWF   _pulseCounter2
               01798 ;       .line   199; "extruder2.c"      solenoid_on = 1;
04BF 3001      01799         MOVLW   0x01
04C0 0000 0000 01800         BANKSEL _solenoid_on
04C2 0080      01801         MOVWF   _solenoid_on
04C3 0008      01802         RETURN  
               01803 ; exit point of _solenoid_delay
               01804 
               01805 ;***
               01806 ;  pBlock Stats: dbName = C
               01807 ;***
               01808 ;entry:  _set_cooler    ;Function start
               01809 ; 2 exit points
               01810 ;has an exit
               01811 ;1 compiler assigned register :
               01812 ;   r0x101E
               01813 ;; Starting pCode block
04C4           01814 _set_cooler     ;Function start
               01815 ; 2 exit points
               01816 ;       .line   177; "extruder2.c"      void set_cooler(byte b)
04C4 0000 0000 01817         BANKSEL r0x101E
04C6 0080      01818         MOVWF   r0x101E
               01819 ;       .line   179; "extruder2.c"      if (b)
04C7 0800      01820         MOVF    r0x101E,W
04C8 1903      01821         BTFSC   STATUS,2
04C9 2800      01822         GOTO    _00141_DS_
               01823 ;       .line   180; "extruder2.c"      RB6 = 1;
04CA 0000 0000 01824         BANKSEL _PORTB_bits
04CC 1700      01825         BSF     _PORTB_bits,6
04CD 2800      01826         GOTO    _00143_DS_
04CE           01827 _00141_DS_
               01828 ;       .line   183; "extruder2.c"      RB6 = 0;
04CE 0000 0000 01829         BANKSEL _PORTB_bits
04D0 1300      01830         BCF     _PORTB_bits,6
04D1           01831 _00143_DS_
04D1 0008      01832         RETURN  
               01833 ; exit point of _set_cooler
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 35


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01834 
               01835 ;***
               01836 ;  pBlock Stats: dbName = C
               01837 ;***
               01838 ;entry:  _change_log    ;Function start
               01839 ; 2 exit points
               01840 ;has an exit
               01841 ;2 compiler assigned registers:
               01842 ;   r0x1026
               01843 ;   r0x1027
               01844 ;; Starting pCode block
04D2           01845 _change_log     ;Function start
               01846 ; 2 exit points
               01847 ;       .line   150; "extruder2.c"      extrude_click = 0;
04D2 0000 0000 01848         BANKSEL _extrude_click
04D4 0180      01849         CLRF    _extrude_click
               01850 ;       .line   151; "extruder2.c"      material_click = 0;
04D5 0000 0000 01851         BANKSEL _material_click
04D7 0180      01852         CLRF    _material_click
               01853 ;       .line   165; "extruder2.c"      current = RA5;  // Store so it doesn't change half way through processing
04D8 0000 0000 01854         BANKSEL r0x1026
04DA 0180      01855         CLRF    r0x1026
04DB 0000 0000 01856         BANKSEL _PORTA_bits
04DD 1E80      01857         BTFSS   _PORTA_bits,5
04DE 2800      01858         GOTO    _00002_DS_
04DF 0000 0000 01859         BANKSEL r0x1026
04E1 0A80      01860         INCF    r0x1026,F
04E2           01861 _00002_DS_
               01862 ;       .line   166; "extruder2.c"      changes = lastPortA ^ current;  
04E2 0000 0000 01863         BANKSEL _lastPortA
04E4 0800      01864         MOVF    _lastPortA,W
04E5 0000 0000 01865         BANKSEL r0x1027
04E7 0080      01866         MOVWF   r0x1027
04E8 0800      01867         MOVF    r0x1026,W
04E9 0680      01868         XORWF   r0x1027,F
               01869 ;       .line   167; "extruder2.c"      if (changes) {
04EA 0800      01870         MOVF    r0x1027,W
04EB 1903      01871         BTFSC   STATUS,2
04EC 2800      01872         GOTO    _00129_DS_
               01873 ;       .line   169; "extruder2.c"      if (!current && seekNotify != 255) {
04ED 0800      01874         MOVF    r0x1026,W
04EE 1D03      01875         BTFSS   STATUS,2
04EF 2800      01876         GOTO    _00129_DS_
04F0 0000 0000 01877         BANKSEL _seekNotify
04F2 0800      01878         MOVF    _seekNotify,W
               01879 ;       .line   170; "extruder2.c"      material_click = 1;
04F3 3AFF      01880         XORLW   0xff
04F4 1903      01881         BTFSC   STATUS,2
04F5 2800      01882         GOTO    _00129_DS_
04F6 3001      01883         MOVLW   0x01
04F7 0000 0000 01884         BANKSEL _material_click
04F9 0080      01885         MOVWF   _material_click
04FA           01886 _00129_DS_
               01887 ;       .line   173; "extruder2.c"      lastPortA = current;
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 36


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
04FA 0000 0000 01888         BANKSEL r0x1026
04FC 0800      01889         MOVF    r0x1026,W
04FD 0000 0000 01890         BANKSEL _lastPortA
04FF 0080      01891         MOVWF   _lastPortA
0500 0008      01892         RETURN  
               01893 ; exit point of _change_log
               01894 
               01895 ;***
               01896 ;  pBlock Stats: dbName = C
               01897 ;***
               01898 ;entry:  _heater_on     ;Function start
               01899 ; 2 exit points
               01900 ;has an exit
               01901 ;; Starting pCode block
0501           01902 _heater_on      ;Function start
               01903 ; 2 exit points
               01904 ;       .line   141; "extruder2.c"      portaval |= BIN(00001000);
0501 0000 0000 01905         BANKSEL _portaval
0503 1580      01906         BSF     _portaval,3
               01907 ;       .line   142; "extruder2.c"      PORTA = portaval;
0504 0800      01908         MOVF    _portaval,W
0505 0000 0000 01909         BANKSEL _PORTA
0507 0080      01910         MOVWF   _PORTA
0508 0008      01911         RETURN  
               01912 ; exit point of _heater_on
               01913 
               01914 ;***
               01915 ;  pBlock Stats: dbName = C
               01916 ;***
               01917 ;entry:  _heater_off    ;Function start
               01918 ; 2 exit points
               01919 ;has an exit
               01920 ;; Starting pCode block
0509           01921 _heater_off     ;Function start
               01922 ; 2 exit points
               01923 ;       .line   136; "extruder2.c"      portaval &= BIN(11110111);
0509 0000 0000 01924         BANKSEL _portaval
050B 1180      01925         BCF     _portaval,3
               01926 ;       .line   137; "extruder2.c"      PORTA = portaval;
050C 0800      01927         MOVF    _portaval,W
050D 0000 0000 01928         BANKSEL _PORTA
050F 0080      01929         MOVWF   _PORTA
0510 0008      01930         RETURN  
               01931 ; exit point of _heater_off
               01932 
               01933 ;***
               01934 ;  pBlock Stats: dbName = C
               01935 ;***
               01936 ;entry:  _extruder_reverse      ;Function start
               01937 ; 2 exit points
               01938 ;has an exit
               01939 ;; Starting pCode block
0511           01940 _extruder_reverse       ;Function start
               01941 ; 2 exit points
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 37


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
               01942 ;       .line   131; "extruder2.c"      RB4 = 0;
0511 0000 0000 01943         BANKSEL _PORTB_bits
0513 1200      01944         BCF     _PORTB_bits,4
               01945 ;       .line   132; "extruder2.c"      RB5 = 1;
0514 1680      01946         BSF     _PORTB_bits,5
0515 0008      01947         RETURN  
               01948 ; exit point of _extruder_reverse
               01949 
               01950 ;***
               01951 ;  pBlock Stats: dbName = C
               01952 ;***
               01953 ;entry:  _extruder_forward      ;Function start
               01954 ; 2 exit points
               01955 ;has an exit
               01956 ;; Starting pCode block
0516           01957 _extruder_forward       ;Function start
               01958 ; 2 exit points
               01959 ;       .line   126; "extruder2.c"      RB5 = 0;
0516 0000 0000 01960         BANKSEL _PORTB_bits
0518 1280      01961         BCF     _PORTB_bits,5
               01962 ;       .line   127; "extruder2.c"      RB4 = 1;
0519 1600      01963         BSF     _PORTB_bits,4
051A 0008      01964         RETURN  
               01965 ; exit point of _extruder_forward
               01966 
               01967 ;***
               01968 ;  pBlock Stats: dbName = C
               01969 ;***
               01970 ;entry:  _extruder_stop ;Function start
               01971 ; 2 exit points
               01972 ;has an exit
               01973 ;; Starting pCode block
051B           01974 _extruder_stop  ;Function start
               01975 ; 2 exit points
               01976 ;       .line   121; "extruder2.c"      RB4 = 0;
051B 0000 0000 01977         BANKSEL _PORTB_bits
051D 1200      01978         BCF     _PORTB_bits,4
               01979 ;       .line   122; "extruder2.c"      RB5 = 0;
051E 1280      01980         BCF     _PORTB_bits,5
051F 0008      01981         RETURN  
               01982 ; exit point of _extruder_stop
               01983 
               01984 
               01985 ;       code size estimation:
               01986 ;         685+  366 =  1051 instructions ( 2834 byte)
               01987 
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 38


SYMBOL TABLE
  LABEL                             VALUE 

ADEN                              00000003
BRGH                              00000002
C                                 00000000
C1INV                             00000004
C1OUT                             00000006
C2INV                             00000005
C2OUT                             00000007
CCP1CON                           00000017
CCP1IE                            00000002
CCP1IF                            00000002
CCP1M0                            00000000
CCP1M1                            00000001
CCP1M2                            00000002
CCP1M3                            00000003
CCP1X                             00000005
CCP1Y                             00000004
CCPR1H                            00000016
CCPR1L                            00000015
CIS                               00000003
CM0                               00000000
CM1                               00000001
CM2                               00000002
CMCON                             0000001F
CMIE                              00000006
CMIF                              00000006
CREN                              00000004
CSRC                              00000007
DC                                00000001
EEADR                             0000009B
EECON1                            0000009C
EECON2                            0000009D
EEDATA                            0000009A
EEIE                              00000007
EEIF                              00000007
F                                 00000001
FERR                              00000002
FSR                               00000004
GIE                               00000007
INDF                              00000000
INTCON                            0000000B
INTE                              00000004
INTEDG                            00000006
INTF                              00000001
IRP                               00000007
NOT_BO                            00000000
NOT_BOD                           00000000
NOT_BOR                           00000000
NOT_PD                            00000003
NOT_POR                           00000001
NOT_RBPU                          00000007
NOT_T1SYNC                        00000002
NOT_TO                            00000004
OERR                              00000001
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 39


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
OPTION_REG                        00000081
OSCF                              00000003
PCL                               00000002
PCLATH                            0000000A
PCON                              0000008E
PEIE                              00000006
PIE1                              0000008C
PIR1                              0000000C
PORTA                             00000005
PORTB                             00000006
PR2                               00000092
PS0                               00000000
PS1                               00000001
PS2                               00000002
PSA                               00000003
PSAVE                             00000000
RBIE                              00000003
RBIF                              00000000
RCIE                              00000005
RCIF                              00000005
RCREG                             0000001A
RCSTA                             00000018
RD                                00000000
RP0                               00000005
RP1                               00000006
RX9                               00000006
RX9D                              00000000
SPBRG                             00000099
SPEN                              00000007
SREN                              00000005
SSAVE                             00000000
STATUS                            00000003
STK00                             00000000
STK01                             00000000
STK02                             00000000
STK03                             00000000
STK04                             00000000
STK05                             00000000
STK06                             00000000
STK07                             00000000
STK08                             00000000
STK09                             00000000
STK10                             00000000
STK11                             00000000
STK12                             00000000
SYNC                              00000004
T0CS                              00000005
T0IE                              00000005
T0IF                              00000002
T0SE                              00000004
T1CKPS0                           00000004
T1CKPS1                           00000005
T1CON                             00000010
T1OSCEN                           00000003
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 40


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
T2CKPS0                           00000000
T2CKPS1                           00000001
T2CON                             00000012
TMR0                              00000001
TMR1CS                            00000001
TMR1H                             0000000F
TMR1IE                            00000000
TMR1IF                            00000000
TMR1L                             0000000E
TMR1ON                            00000000
TMR2                              00000011
TMR2IE                            00000001
TMR2IF                            00000001
TMR2ON                            00000002
TOUTPS0                           00000003
TOUTPS1                           00000004
TOUTPS2                           00000005
TOUTPS3                           00000006
TRISA                             00000085
TRISB                             00000086
TRMT                              00000001
TX9                               00000006
TX9D                              00000000
TXEN                              00000005
TXIE                              00000004
TXIF                              00000004
TXREG                             00000019
TXSTA                             00000098
VR0                               00000000
VR1                               00000001
VR2                               00000002
VR3                               00000003
VRCON                             0000009F
VREN                              00000007
VROE                              00000006
VRR                               00000005
W                                 00000000
WR                                00000001
WREN                              00000002
WRERR                             00000003
WSAVE                             00000000
Z                                 00000002
_00001_DS_                        0000017E
_00002_DS_                        000004E2
_00129_DS_                        000004FA
_00141_DS_                        000004CE
_00143_DS_                        000004D1
_00153_DS_                        000004A8
_00154_DS_                        000004AB
_00163_DS_                        00000445
_00164_DS_                        00000449
_00165_DS_                        0000044F
_00171_DS_                        00000421
_00174_DS_                        00000419
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 41


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
_00175_DS_                        00000422
_00176_DS_                        0000042C
_00182_DS_                        000003DD
_00187_DS_                        000003C5
_00192_DS_                        000003AD
_00194_DS_                        000003A1
_00195_DS_                        000003A3
_00196_DS_                        000003DE
_00199_DS_                        00000401
_00202_DS_                        00000409
_00205_DS_                        0000040C
_00233_DS_                        00000336
_00234_DS_                        0000034F
_00239_DS_                        00000375
_00243_DS_                        00000392
_00248_DS_                        000002B2
_00252_DS_                        000002C3
_00254_DS_                        000002CD
_00255_DS_                        000002D6
_00258_DS_                        000002FB
_00261_DS_                        0000026F
_00264_DS_                        00000286
_00267_DS_                        00000278
_00268_DS_                        0000027B
_00273_DS_                        00000061
_00274_DS_                        00000074
_00276_DS_                        000000A0
_00279_DS_                        000000A5
_00282_DS_                        00000088
_00283_DS_                        000000A9
_00284_DS_                        000000B5
_00285_DS_                        000000C4
_00286_DS_                        000000CD
_00287_DS_                        000000D6
_00288_DS_                        000000E9
_00289_DS_                        00000106
_00291_DS_                        00000161
_00295_DS_                        00000164
_00296_DS_                        00000166
_00297_DS_                        0000016D
_00298_DS_                        0000018C
_00299_DS_                        000001AB
_00300_DS_                        000001C0
_00301_DS_                        000001C8
_00302_DS_                        000001D3
_00303_DS_                        000001E1
_00304_DS_                        000001EE
_00305_DS_                        00000209
_00306_DS_                        00000232
_00307_DS_                        00000261
_00308_DS_                        00000264
_00309_DS_                        00000266
_00362_DS_                        00000136
_00363_DS_                        0000015C
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 42


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
_BODEN_OFF                        00003FBF
_BODEN_ON                         00003FFF
_BOREN_OFF                        00003FBF
_BOREN_ON                         00003FFF
_CCP1CON                          00000000
_CCP1CON_bits                     00000000
_CCPR1H                           00000000
_CCPR1L                           00000000
_CMCON                            00000000
_CMCON_bits                       00000000
_CP_OFF                           00003FFF
_CP_ON                            00001FFF
_DATA_CP_OFF                      00003FFF
_DATA_CP_ON                       00003EFF
_EEADR                            00000000
_EECON1                           00000000
_EECON1_bits                      00000000
_EECON2                           00000000
_EEDATA                           00000000
_ER_OSC_CLKOUT                    00003FFF
_ER_OSC_NOCLKOUT                  00003FFE
_EXTCLK_OSC                       00003FEF
_FSR                              00000000
_HS_OSC                           00003FEE
_INDF                             00000000
_INTCON                           00000000
_INTCON_bits                      00000000
_INTOSC_OSC_CLKOUT                00003FFD
_INTOSC_OSC_NOCLKOUT              00003FFC
_INTRC_OSC_CLKOUT                 00003FFD
_INTRC_OSC_NOCLKOUT               00003FFC
_LEDon                            00000000
_LP_OSC                           00003FEC
_LVP_OFF                          00003F7F
_LVP_ON                           00003FFF
_MCLRE_OFF                        00003FDF
_MCLRE_ON                         00003FFF
_OPTION_REG                       00000000
_OPTION_REG_bits                  00000000
_PCL                              00000000
_PCLATH                           00000000
_PCON                             00000000
_PCON_bits                        00000000
_PIE1                             00000000
_PIE1_bits                        00000000
_PIR1                             00000000
_PIR1_bits                        00000000
_PORTA                            00000000
_PORTA_bits                       00000000
_PORTB                            00000000
_PORTB_bits                       00000000
_PR2                              00000000
_PWMPeriod                        00000000
_PWRTE_OFF                        00003FFF
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 43


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
_PWRTE_ON                         00003FF7
_RCREG                            00000000
_RCSTA                            00000000
_RCSTA_bits                       00000000
_RC_OSC_CLKOUT                    00003FFF
_RC_OSC_NOCLKOUT                  00003FFE
_SPBRG                            00000000
_STATUS                           00000000
_STATUS_bits                      00000000
_T1CON                            00000000
_T1CON_bits                       00000000
_T2CON                            00000000
_T2CON_bits                       00000000
_TMR0                             00000000
_TMR1H                            00000000
_TMR1L                            00000000
_TMR2                             00000000
_TRISA                            00000000
_TRISA_bits                       00000000
_TRISB                            00000000
_TRISB_bits                       00000000
_TXREG                            00000000
_TXSTA                            00000000
_TXSTA_bits                       00000000
_VRCON                            00000000
_VRCON_bits                       00000000
_WDT_OFF                          00003FFB
_WDT_ON                           00003FFF
_XT_OSC                           00003FED
__16F648A                         00000001
_buffer                           00000000
_change_log                       000004D2
_checkTemperature                 00000269
_clearwdt                         00000000
_code_extruder2_000063            00000063
_code_extruder2_000067            00000067
_code_extruder2_00006b            0000006B
_code_extruder2_00006f            0000006F
_code_extruder2_000072            00000072
_code_extruder2_000076            00000076
_code_extruder2_00007a            0000007A
_code_extruder2_000086            00000086
_code_extruder2_00009e            0000009E
_code_extruder2_0000a3            000000A3
_code_extruder2_0000a8            000000A8
_code_extruder2_0000ac            000000AC
_code_extruder2_0000b0            000000B0
_code_extruder2_0000b3            000000B3
_code_extruder2_0000b7            000000B7
_code_extruder2_0000bb            000000BB
_code_extruder2_0000bf            000000BF
_code_extruder2_0000c2            000000C2
_code_extruder2_0000eb            000000EB
_code_extruder2_0000ef            000000EF
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 44


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
_code_extruder2_0000f8            000000F8
_code_extruder2_000101            00000101
_code_extruder2_000104            00000104
_code_extruder2_00016f            0000016F
_code_extruder2_000173            00000173
_code_extruder2_000187            00000187
_code_extruder2_00018a            0000018A
_code_extruder2_0001ad            000001AD
_code_extruder2_0001b1            000001B1
_code_extruder2_0001b7            000001B7
_code_extruder2_0001bb            000001BB
_code_extruder2_0001be            000001BE
_code_extruder2_00020b            0000020B
_code_extruder2_00020f            0000020F
_code_extruder2_000215            00000215
_code_extruder2_00021b            0000021B
_code_extruder2_000221            00000221
_code_extruder2_000227            00000227
_code_extruder2_00022d            0000022D
_code_extruder2_000230            00000230
_code_extruder2_000234            00000234
_code_extruder2_000238            00000238
_code_extruder2_00023e            0000023E
_code_extruder2_000244            00000244
_code_extruder2_00024a            0000024A
_code_extruder2_000250            00000250
_code_extruder2_000256            00000256
_code_extruder2_00025c            0000025C
_code_extruder2_00025f            0000025F
_code_extruder2_000297            00000297
_code_extruder2_0002e1            000002E1
_code_extruder2_0002fa            000002FA
_code_extruder2_000301            00000301
_code_extruder2_000304            00000304
_code_extruder2_000380            00000380
_code_extruder2_00038a            0000038A
_code_extruder2_00038e            0000038E
_code_extruder2_000391            00000391
_code_extruder2_0004b6            000004B6
_currentDirection                 00000014
_currentPosition                  0000001F
_delay_10us                       00000000
_dummy                            00000000
_endMessage                       00000000
_endMessageISR                    00000000
_extrude_click                    00000010
_extruder_forward                 00000516
_extruder_reverse                 00000511
_extruder_stop                    0000051B
_flashLED                         00000000
_heatCounter                      0000001B
_heater_off                       00000509
_heater_on                        00000501
_init2                            00000452
gpasm-0.13.4 beta               extruder0-extruder2.asm6-13-2008  14:34:03          PAGE 45


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE
 
_interruptTemp                    00000000
_lastPortA                        00000012
_lastPortB                        00000016
_lastTemperature                  0000001C
_material_click                   00000011
_motorTick                        0000030D
_packetReady                      00000000
_portaval                         0000000F
_processCommand                   00000004
_pulseCounter1                    00000000
_pulseCounter2                    00000000
_pwmSet                           0000042D
_releaseLock                      00000000
_requestedHeat0                   00000017
_requestedHeat1                   00000018
_seekNotify                       00000013
_seekPosition                     00000021
_seekSpeed                        00000015
_sendDataByte                     00000000
_sendDataByteISR                  00000000
_sendMessage                      00000000
_sendMessageISR                   00000000
_sendReply                        00000000
_serialInterruptHandler           00000000
_serialStatus                     00000000
_serial_init                      00000000
_setFlash                         00000000
_setSpeed                         0000040F
_set_cooler                       000004C4
_solenoid                         00000498
_solenoid_delay                   000004B3
_solenoid_on                      00000000
_temperatureLimit0                00000019
_temperatureLimit1                0000001A
_temperatureNotUpdatedCounter     0000001E
_temperatureVRef                  0000001D
_timerTick                        00000395
_uartNotifyReceive                00000000
_uartTransmit                     00000000
r0x1019                           0000000A
r0x101A                           0000000B
r0x101B                           0000000C
r0x101C                           0000000D
r0x101D                           0000000E
r0x101E                           00000002
r0x101F                           00000003
r0x1020                           00000008
r0x1021                           00000009
r0x1022                           00000004
r0x1023                           00000005
r0x1024                           00000006
r0x1025                           00000007
r0x1026                           00000000
r0x1027                           00000001


Errors   :       0
Warnings :       0 reported,       0 suppressed
Messages :       0 reported,       0 suppressed