aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EE3102Testing.X/Makefile113
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.obin0 -> 24836 bytes
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o.d2
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.obin0 -> 5428 bytes
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o.d2
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.obin0 -> 11592 bytes
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o.d3
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_main_v001.obin0 -> 16348 bytes
-rw-r--r--EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o.d5
-rw-r--r--EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elfbin0 -> 200588 bytes
-rw-r--r--EE3102Testing.X/dist/default/production/EE3102Testing.X.production.hex1018
-rw-r--r--EE3102Testing.X/dist/default/production/EE3102Testing.X.production.map1377
-rw-r--r--EE3102Testing.X/dist/default/production/memoryfile.xml18
-rw-r--r--EE3102Testing.X/nbproject/Makefile-default.mk203
-rw-r--r--EE3102Testing.X/nbproject/Makefile-genesis.properties10
-rw-r--r--EE3102Testing.X/nbproject/Makefile-impl.mk69
-rw-r--r--EE3102Testing.X/nbproject/Makefile-local-default.mk38
-rw-r--r--EE3102Testing.X/nbproject/Makefile-variables.mk13
-rw-r--r--EE3102Testing.X/nbproject/Package-default.bash73
-rw-r--r--EE3102Testing.X/nbproject/configurations.xml229
-rw-r--r--EE3102Testing.X/nbproject/private/configurations.xml25
-rw-r--r--EE3102Testing.X/nbproject/private/private.xml13
-rw-r--r--EE3102Testing.X/nbproject/project.xml29
-rw-r--r--EE3102Testing.X/spies046_lab6_asm_v001.h23
-rw-r--r--EE3102Testing.X/spies046_lab6_asm_v001.s23
-rw-r--r--EE3102Testing.X/spies046_lab6_buffer_v001.c42
-rw-r--r--EE3102Testing.X/spies046_lab6_buffer_v001.h25
-rw-r--r--EE3102Testing.X/spies046_lab6_lcdLib_v001.c140
-rw-r--r--EE3102Testing.X/spies046_lab6_lcdLib_v001.h30
-rw-r--r--EE3102Testing.X/spies046_lab6_main_v001.c97
30 files changed, 3620 insertions, 0 deletions
diff --git a/EE3102Testing.X/Makefile b/EE3102Testing.X/Makefile
new file mode 100644
index 0000000..fca8e2c
--- /dev/null
+++ b/EE3102Testing.X/Makefile
@@ -0,0 +1,113 @@
+#
+# There exist several targets which are by default empty and which can be
+# used for execution of your targets. These targets are usually executed
+# before and after some main targets. They are:
+#
+# .build-pre: called before 'build' target
+# .build-post: called after 'build' target
+# .clean-pre: called before 'clean' target
+# .clean-post: called after 'clean' target
+# .clobber-pre: called before 'clobber' target
+# .clobber-post: called after 'clobber' target
+# .all-pre: called before 'all' target
+# .all-post: called after 'all' target
+# .help-pre: called before 'help' target
+# .help-post: called after 'help' target
+#
+# Targets beginning with '.' are not intended to be called on their own.
+#
+# Main targets can be executed directly, and they are:
+#
+# build build a specific configuration
+# clean remove built files from a configuration
+# clobber remove all built files
+# all build all configurations
+# help print help mesage
+#
+# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+# .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+# Available make variables:
+#
+# CND_BASEDIR base directory for relative paths
+# CND_DISTDIR default top distribution directory (build artifacts)
+# CND_BUILDDIR default top build directory (object files, ...)
+# CONF name of current configuration
+# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
+# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
+# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
+# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
+# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
+# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+RANLIB=ranlib
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+# WARNING: the IDE does not call this target since it takes a long time to
+# simply run make. Instead, the IDE removes the configuration directories
+# under build and dist directly without calling make.
+# This target is left here so people can do a clean when running a clean
+# outside the IDE.
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o b/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o
new file mode 100644
index 0000000..1f02dc7
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o
Binary files differ
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o.d b/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o.d
new file mode 100644
index 0000000..3ba0ae3
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o.d
@@ -0,0 +1,2 @@
+build/default/production/spies046_lab6_asm_v001.o: \
+ spies046_lab6_asm_v001.s
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o b/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o
new file mode 100644
index 0000000..9db9c27
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o
Binary files differ
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o.d b/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o.d
new file mode 100644
index 0000000..fcdc1de
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o.d
@@ -0,0 +1,2 @@
+build/default/production/spies046_lab6_buffer_v001.o: \
+ spies046_lab6_buffer_v001.c
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o b/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o
new file mode 100644
index 0000000..c8f101f
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o
Binary files differ
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o.d b/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o.d
new file mode 100644
index 0000000..a1259ae
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o.d
@@ -0,0 +1,3 @@
+build/default/production/spies046_lab6_lcdLib_v001.o: \
+ spies046_lab6_lcdLib_v001.c \
+spies046_lab6_asm_v001.h
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o b/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o
new file mode 100644
index 0000000..7f2e669
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o
Binary files differ
diff --git a/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o.d b/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o.d
new file mode 100644
index 0000000..4d1d599
--- /dev/null
+++ b/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o.d
@@ -0,0 +1,5 @@
+build/default/production/spies046_lab6_main_v001.o: \
+ spies046_lab6_main_v001.c \
+spies046_lab6_buffer_v001.h \
+ spies046_lab6_asm_v001.h \
+spies046_lab6_lcdLib_v001.h
diff --git a/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elf b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elf
new file mode 100644
index 0000000..08e6959
--- /dev/null
+++ b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elf
Binary files differ
diff --git a/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.hex b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.hex
new file mode 100644
index 0000000..7454a51
--- /dev/null
+++ b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.hex
@@ -0,0 +1,1018 @@
+:020000040000fa
+:080000000002040000000000f2
+:020000040000fa
+:040008001c030000d5
+:020000040000fa
+:04000c001c030000d1
+:020000040000fa
+:040010001c030000cd
+:020000040000fa
+:040014001c030000c9
+:020000040000fa
+:040018001c030000c5
+:020000040000fa
+:04001c001c030000c1
+:020000040000fa
+:040020001c030000bd
+:020000040000fa
+:040024001c030000b9
+:020000040000fa
+:040028001c030000b5
+:020000040000fa
+:04002c001c030000b1
+:020000040000fa
+:040030001c030000ad
+:020000040000fa
+:040034001c030000a9
+:020000040000fa
+:040038001c030000a5
+:020000040000fa
+:04003c001c030000a1
+:020000040000fa
+:040040001c0300009d
+:020000040000fa
+:04004400f4020000c2
+:020000040000fa
+:040048001c03000095
+:020000040000fa
+:04004c001c03000091
+:020000040000fa
+:040050001c0300008d
+:020000040000fa
+:040054001c03000089
+:020000040000fa
+:040058001c03000085
+:020000040000fa
+:04005c00cc020000d2
+:020000040000fa
+:040060001c0300007d
+:020000040000fa
+:040064001c03000079
+:020000040000fa
+:040068001c03000075
+:020000040000fa
+:04006c001c03000071
+:020000040000fa
+:040070001c0300006d
+:020000040000fa
+:040074001c03000069
+:020000040000fa
+:040078001c03000065
+:020000040000fa
+:04007c001c03000061
+:020000040000fa
+:040080001c0300005d
+:020000040000fa
+:040084001c03000059
+:020000040000fa
+:040088001c03000055
+:020000040000fa
+:04008c001c03000051
+:020000040000fa
+:040090001c0300004d
+:020000040000fa
+:040094001c03000049
+:020000040000fa
+:040098001c03000045
+:020000040000fa
+:04009c001c03000041
+:020000040000fa
+:0400a0001c0300003d
+:020000040000fa
+:0400a4001c03000039
+:020000040000fa
+:0400a8001c03000035
+:020000040000fa
+:0400ac001c03000031
+:020000040000fa
+:0400b0001c0300002d
+:020000040000fa
+:0400b4001c03000029
+:020000040000fa
+:0400b8001c03000025
+:020000040000fa
+:0400bc001c03000021
+:020000040000fa
+:0400c0001c0300001d
+:020000040000fa
+:0400c4001c03000019
+:020000040000fa
+:0400c8001c03000015
+:020000040000fa
+:0400cc001c03000011
+:020000040000fa
+:0400d0001c0300000d
+:020000040000fa
+:0400d4001c03000009
+:020000040000fa
+:0400d8001c03000005
+:020000040000fa
+:0400dc001c03000001
+:020000040000fa
+:0400e0001c030000fd
+:020000040000fa
+:0400e4001c030000f9
+:020000040000fa
+:0400e8001c030000f5
+:020000040000fa
+:0400ec001c030000f1
+:020000040000fa
+:0400f0001c030000ed
+:020000040000fa
+:0400f4001c030000e9
+:020000040000fa
+:0400f8001c030000e5
+:020000040000fa
+:0400fc001c030000e1
+:020000040000fa
+:040100001c030000dc
+:020000040000fa
+:040104001c030000d8
+:020000040000fa
+:040108001c030000d4
+:020000040000fa
+:04010c001c030000d0
+:020000040000fa
+:040110001c030000cc
+:020000040000fa
+:040114001c030000c8
+:020000040000fa
+:040118001c030000c4
+:020000040000fa
+:04011c001c030000c0
+:020000040000fa
+:040120001c030000bc
+:020000040000fa
+:040124001c030000b8
+:020000040000fa
+:040128001c030000b4
+:020000040000fa
+:04012c001c030000b0
+:020000040000fa
+:040130001c030000ac
+:020000040000fa
+:040134001c030000a8
+:020000040000fa
+:040138001c030000a4
+:020000040000fa
+:04013c001c030000a0
+:020000040000fa
+:040140001c0300009c
+:020000040000fa
+:040144001c03000098
+:020000040000fa
+:040148001c03000094
+:020000040000fa
+:040208001c030000d3
+:020000040000fa
+:04020c001c030000cf
+:020000040000fa
+:040210001c030000cb
+:020000040000fa
+:040214001c030000c7
+:020000040000fa
+:040218001c030000c3
+:020000040000fa
+:04021c001c030000bf
+:020000040000fa
+:040220001c030000bb
+:020000040000fa
+:040224001c030000b7
+:020000040000fa
+:040228001c030000b3
+:020000040000fa
+:04022c001c030000af
+:020000040000fa
+:040230001c030000ab
+:020000040000fa
+:040234001c030000a7
+:020000040000fa
+:040238001c030000a3
+:020000040000fa
+:04023c001c0300009f
+:020000040000fa
+:040240001c0300009b
+:020000040000fa
+:04024400f4020000c0
+:020000040000fa
+:040248001c03000093
+:020000040000fa
+:04024c001c0300008f
+:020000040000fa
+:040250001c0300008b
+:020000040000fa
+:040254001c03000087
+:020000040000fa
+:040258001c03000083
+:020000040000fa
+:04025c00cc020000d0
+:020000040000fa
+:040260001c0300007b
+:020000040000fa
+:040264001c03000077
+:020000040000fa
+:040268001c03000073
+:020000040000fa
+:04026c001c0300006f
+:020000040000fa
+:040270001c0300006b
+:020000040000fa
+:040274001c03000067
+:020000040000fa
+:040278001c03000063
+:020000040000fa
+:04027c001c0300005f
+:020000040000fa
+:040280001c0300005b
+:020000040000fa
+:040284001c03000057
+:020000040000fa
+:040288001c03000053
+:020000040000fa
+:04028c001c0300004f
+:020000040000fa
+:040290001c0300004b
+:020000040000fa
+:040294001c03000047
+:020000040000fa
+:040298001c03000043
+:020000040000fa
+:04029c001c0300003f
+:020000040000fa
+:0402a0001c0300003b
+:020000040000fa
+:0402a4001c03000037
+:020000040000fa
+:0402a8001c03000033
+:020000040000fa
+:0402ac001c0300002f
+:020000040000fa
+:0402b0001c0300002b
+:020000040000fa
+:0402b4001c03000027
+:020000040000fa
+:0402b8001c03000023
+:020000040000fa
+:0402bc001c0300001f
+:020000040000fa
+:0402c0001c0300001b
+:020000040000fa
+:0402c4001c03000017
+:020000040000fa
+:0402c8001c03000013
+:020000040000fa
+:0402cc001c0300000f
+:020000040000fa
+:0402d0001c0300000b
+:020000040000fa
+:0402d4001c03000007
+:020000040000fa
+:0402d8001c03000003
+:020000040000fa
+:0402dc001c030000ff
+:020000040000fa
+:0402e0001c030000fb
+:020000040000fa
+:0402e4001c030000f7
+:020000040000fa
+:0402e8001c030000f3
+:020000040000fa
+:0402ec001c030000ef
+:020000040000fa
+:0402f0001c030000eb
+:020000040000fa
+:0402f4001c030000e7
+:020000040000fa
+:0402f8001c030000e3
+:020000040000fa
+:0402fc001c030000df
+:020000040000fa
+:040300001c030000da
+:020000040000fa
+:040304001c030000d6
+:020000040000fa
+:040308001c030000d2
+:020000040000fa
+:04030c001c030000ce
+:020000040000fa
+:040310001c030000ca
+:020000040000fa
+:040314001c030000c6
+:020000040000fa
+:040318001c030000c2
+:020000040000fa
+:04031c001c030000be
+:020000040000fa
+:040320001c030000ba
+:020000040000fa
+:040324001c030000b6
+:020000040000fa
+:040328001c030000b2
+:020000040000fa
+:04032c001c030000ae
+:020000040000fa
+:040330001c030000aa
+:020000040000fa
+:040334001c030000a6
+:020000040000fa
+:040338001c030000a2
+:020000040000fa
+:04033c001c0300009e
+:020000040000fa
+:040340001c0300009a
+:020000040000fa
+:040344001c03000096
+:020000040000fa
+:040348001c03000092
+:020000040000fa
+:10040000ef8b20000e7f22000e018800000000000c
+:10041000000020000000e000020032000001200087
+:100420002002880014000700850007000000e0009b
+:1004300003003a00206a210001002000020037007a
+:100440000000200001002000810f70000100320038
+:1004500014000700000020000000e000020032004d
+:100460000000020000000000e4150200000000008f
+:100470000040da000000fe004440a9008000200097
+:100480000000e0000300320000002000a00188000e
+:100490004440a800000006008a1f78008b1f7800e7
+:1004a0000000060091018800800478000000eb0045
+:1004b0001a003700e284440032a0b4009905ba0063
+:1004c000e284440032a0b4009906ba00e2844400f9
+:1004d00032a0b4000006eb00476fde00fd07b2005b
+:1004e000636ce10003003a00ebff07000000eb0043
+:1004f0000a003700606ce10004003a00005deb0088
+:100500008b05e900fdff3e00040037006168e10053
+:10051000010032000086eb000b00070019c7ba008b
+:100520001905ba000e04e00003003a000a00e000da
+:10053000e0ff3a0000000600fe07b2009e018800be
+:100540008a047800f5ff3700395dba008b05e900b1
+:100550000c003200295dba008b05e900080032006a
+:100560000c00e00003003a00e284440032a0b40032
+:10057000f5ff370019ddba008b05e900faff3a00f4
+:100580008904e800e184440032a0b40000000600c1
+:1005900000000000000000003600f800809fbe0050
+:1005a000829fbe00849fbe00869fbe003400f8007c
+:1005b00000002000a00188000000fa0085a0a9002a
+:1005c00000188000960907000080fa003400f90046
+:1005d0004f03be004f02be004f01be004f00be00e1
+:1005e0003600f900004006003600f800809fbe008b
+:1005f000829fbe00849fbe00869fbe003400f8002c
+:1006000000002000a00188000000fa0084e0a9009a
+:100610009f090700404088000080fa003400f9007c
+:100620004f03be004f02be004f01be004f00be0090
+:100630003600f900004006000040da000000fe002d
+:10064000000005004f89de00820178004400370079
+:10065000889fbe008a9fbe008c1f7800a5000700ff
+:10066000ac00330003866c006450e10024003200cb
+:100670006420e100270032006150e10022003200d6
+:100680006120e100210032008b854200eb07b100c0
+:100690000134b800003ab8000804420089844a00d6
+:1006a000013ab8000030b8008880400009014a00d3
+:1006b000040033000000400081804800020149002e
+:1006c0008b05e900c909dd008301700001003200db
+:1006d00013002000c814de004814dd004709de00c6
+:1006e0001200b200c808de00088470005b0007003a
+:1006f00001f0a1000cf0a70001f0a0008e0037006f
+:100700006120e100900032000801be000200be003e
+:10071000f7ff37006150e100fcff3a008a00370024
+:100720006022b800060220000000d0008180d200c4
+:100730000482d2008582d2000000a0000202520092
+:1007400083825a00030031000202420083824a0081
+:100750000000a1000603e900f3ff3a0000000600d4
+:10076000881f7800030478000300e00007003d00c4
+:1007700060001000e080180060011900e08119009d
+:1007800002003b0001f02d000300370004000700c9
+:1007900008f0a70001f0a0004f0478000000060058
+:1007a000889fbe008a9fbe00008270000402710014
+:1007b00004827100260032000004be000200be0068
+:1007c0006011b8006b092000950220000182cf0063
+:1007d0000a0039000541b1000082cf00070039004e
+:1007e0000541b1000982cf00040039000541b10084
+:1007f0000882cf00010039000541b10005425200d6
+:10080000120032000a003b00828171006101640025
+:100810008100d1000080d3008984d3000884d300f4
+:100820008b05e8000442e800f7ff3a0007003700b4
+:100830000804440089844c0000004800818048007e
+:100840008b05e9000442e900f9ff3a0003000700c4
+:100850004f05be004f04be000000060081002000ce
+:10086000618055000b003d000b00200061fe2f0051
+:100870000100e1001d00340082817100610164000b
+:100880008904d1000884d3000000e800faff3a0090
+:10089000710020006100640003007000020060002d
+:1008a0000900320061044400e0844c000988a5007e
+:1008b000050032008b05e8006808e10002003a00fc
+:1008c0008904d1000884d300f20f20000258e1000f
+:1008d00005003d00c75ddd00f907b20089807500a5
+:1008e00008007800000006000bf827008b00780055
+:1008f000000005000004be00160007000003be0053
+:100900000405be000200be0012000700844f7500ff
+:10091000000006000200be006450e1000500360041
+:100920006420e100020036000968a30001003a00db
+:100930000800be000160a0004f0678004f05be0011
+:100940004f04be0000000600f0ff2f00f1ff27005b
+:10095000f9ff3700c70ade00f107b200f50fb20059
+:1009600008003200e1cf4200020032000170a00016
+:1009700024000500810f700001003200040805000a
+:1009800044000500810f700002003a0014000500c9
+:100990008502e9000000400081c04800fcff3b00e8
+:1009a0000170a00024000500881f78000204780070
+:1009b00008017800c4000700080040004f047800d8
+:1009c000000006000000fa00881f7800000478008c
+:1009d000ea8157003fb9970088007800404d200019
+:1009e000070007000000e000020035008040eb0037
+:1009f000017478004f0478000080fa0000000600bf
+:100a00006200fa00889fbe008a1f78000005780007
+:100a100081047800020478008300780080f92f00b8
+:100a20000f004000770107009a979f00a9979f0049
+:100a30000000eb00b09f9f001885fb008a04fb00bc
+:100a40000a05ea004f55de0050022000808f540056
+:100a50000d003200e10f55000b003a000a0178004a
+:100a6000880078002f9097009f9197000300010065
+:100a7000a0979f000000e0008e0032003f98970092
+:100a80000000e800b09f9f000a04440050022000cc
+:100a9000808f5400040032000900e000e6ff3a00b5
+:100aa0003f989700840037000000eb00909f9f0064
+:100ab000809f9f00f0979f00e0979f00d0979f0036
+:100ac000c0979f0007003700618b20000100500095
+:100ad00000004000a18a200061007800df989700a4
+:100ae00001007000d09f9f008804780009047800fe
+:100af000384578008a00fb00608b200079000700f1
+:100b00000000e000f0ff3a00a1c2b300814f5500a1
+:100b10000e003a00cf8897000180e900c08f9f0047
+:100b200010007800c09f9f000000e00005003d001d
+:100b30000000ea00c09f9f005f9897000020a0007f
+:100b4000d09f9f000904e8000f003700c09f9f005e
+:100b50000000eb0005003700f2ff2700820f500075
+:100b6000020032006a01b9000280400009047800e6
+:100b700088047800b900fb000103b100e98f500040
+:100b8000f5ff3600c09f9f00e0c2b300984f1000f1
+:100b9000020032000080eb0019003700a0c2b30051
+:100ba000d84f100007003a00cf8897000180e90075
+:100bb000c08f9f0010007800a09f9f000804e800ed
+:100bc000100037000000eb00a09f9f008800780015
+:100bd00005003700f3ff2700830f500002003200aa
+:100be0006a02b9000400410001047800880078001e
+:100bf0003101fb000203b100e90f5100f5ff36009f
+:100c0000a09f9f00984478008900fb00208a200064
+:100c1000340007000000e000020032000804e80091
+:100c2000010037008044eb00c97f9f0080c6b300fd
+:100c300080cf540004003a0098cf14000a003a0014
+:100c40006640500006003700c0c6b30080cf540095
+:100c500005003a0098cf140003003a0065404000b8
+:100c6000c07f9f000804e8001801fb00e3fb2f0091
+:100c70008f81410081f92f008f804000a0f92f0063
+:100c80000f004000e10007000000e00009003a000a
+:100c9000e1fb2f008f804000a0f92f000f004000e3
+:100ca0001c0007000000e000020035000804e80016
+:100cb00061ff37000080eb004f0578004f04be0055
+:100cc0000080fa0000000600800178000200370072
+:100cd000b15978000201e9000200e000fcff3a008f
+:100ce00000000600020037000304e00006003200a6
+:100cf0000001780002007800b041780081cf5100f7
+:100d0000f9ff3a00010037000001eb000200780013
+:100d1000000006000400fa00889fbe008a9fbe0003
+:100d20008c1f78000004780001067800f80d900010
+:100d30007800900080855500080890008085550057
+:100d4000180890008085550028089000808555007f
+:100d5000380890008085550048089000808555002f
+:100d60000002220090bf9f0000032300a0bf9f004d
+:100d7000081090000028a30015003a000b00e000c6
+:100d8000130034000b0578008a047800e20f550048
+:100d90000100360029002000c801900009017800f8
+:100da000ee805700580090000300010050049800a6
+:100db0000000e0008c00320068089000090040004c
+:100dc000600c9800090555004240a900eeff3c0068
+:100dd000780190000200e0000c003400c80190008f
+:100de0008c00780058009000030001005004980027
+:100df0008080eb000000e0007c003200e8089000fa
+:100e00007800900000804000600c9800880c9000f2
+:100e10000900e0001100340009057800e28f540059
+:100e2000010036002a002000c80190000a01780065
+:100e3000ec80570058009000030001005004980017
+:100e40000000e00068003200680890000a004000de
+:100e5000600c98008a845400edff37001809900058
+:100e60000200e0000c003400c8019000e80090008f
+:100e70005800900003000100500498008080eb00af
+:100e80000000e00059003200e808900018089000c7
+:100e900000804000600c9800a80c90000900e00061
+:100ea0001100340009057800e28f5400010036007b
+:100eb0002a002000c80190000a017800ec80570049
+:100ec0005800900003000100500498000000e0006a
+:100ed00045003200680890000a004000600c98004d
+:100ee0008a845400edff3700380990000200e000ca
+:100ef0000e003400e8009000180890008080400048
+:100f0000c8019000580090000300010050049800b0
+:100f10008080eb000000e00034003200e808900020
+:100f20003808900000804000600c9800c80c9000c9
+:100f30000900e0001100340009057800e28f540038
+:100f4000010036002a002000c80190000a01780044
+:100f5000ec805700580090000300010050049800f6
+:100f60000000e00020003200680890000a00400005
+:100f7000600c98008a845400edff37000810900040
+:100f80008000eb000028a300180032000b00e000f6
+:100f9000160034008b04780009057800e28f5400b5
+:100fa000010036002a002000c80190000a017800e4
+:100fb000ee80570058009000030001005004980094
+:100fc0000000e00008003200680890000a004000bd
+:100fd000600c98008a8454004240a900eeff3c0057
+:100fe0008000eb00010037008080eb0001007800fa
+:100ff0004f0678004f05be004f04be000080fa0087
+:10100000000006000108780000000600889fbe006e
+:101010008a1f780000047800824478000305780075
+:1010200070c4b30080cf54000a003c0000c0e90047
+:1010300080cf54000f003d0050c2b30080cf540059
+:10104000350032007c40400080cf540035003a002b
+:101050000800370010c6b30080cf540005003200ee
+:1010600030003500b0c9b30000c04400e24f50006a
+:101070002c003e0028619000c0c4b300804f510096
+:1010800006003a00110178006800510080087800dd
+:101090005001be004000be0005003700110178007d
+:1010a00064005100800878001000be00a303070010
+:1010b000009cbe000294be00b80090007800900032
+:1010c0000100e00002003d00d1c2b300080037007b
+:1010d000881090000118a30002003200b1c2b300d2
+:1010e000030037000108a3000400320001c2b3006e
+:1010f000017578000000e800700498007800900006
+:10110000000545006a0498008900fb00080078008b
+:10111000100007000b003700780090000975780078
+:101120000600370078009000000545000904e00043
+:1011300001003a0059c2b300094d78000000e800f0
+:10114000700498000000eb004f0578004f04be00cb
+:10115000000006002f04b000889fbe008a9fbe00da
+:101160008c9fbe008e1f78000007780081f79f00db
+:101170003e04be002e05be005e0890000000e000a8
+:1011800002003d0060002000500f98008e007800a3
+:1011900020fb2f000f0040003a020700e20f500032
+:1011a0000a003a0030002000100f9800b1c9b300c7
+:1011b0000ff0970081404000e0802000e1cf500018
+:1011c0000d003e00a08020000b0037000000e00072
+:1011d0000f00340030002000100f9800b1c9b30098
+:1011e0000ff197008140410060812000e1cf500065
+:1011f00001003e0020812000ee009000b048780001
+:10120000b06878001040780090409800f3003700f4
+:101210000000e00005003a0022fb2f000f01410012
+:10122000001978008001eb00e70037006022b80069
+:101230006033b8000800be000a01be008702070044
+:101240000000e00001003d000bf0a20070592700f3
+:101250009f9897000088b900026a280013002000b8
+:10126000e2020700640650009c9f9f0013003b00b1
+:1012700063061600c0ff2f00000666008c01ea001e
+:10128000939f9f00ad8120000800be000a01be00b0
+:10129000070037000c08a300030032003d02be0027
+:1012a0002d03be00740307000c86d100e8864600bb
+:1012b0000c00e000f7ff3c00180037000c00e000d5
+:1012c00018003200c0ff2f00000666009c9f9f00a0
+:1012d000ad8120006000b8000200200003ff230061
+:1012e000070037000c08a300030032003d02be00d7
+:1012f0002d03be00600307000c86d100e88646007f
+:101300000c00e000f7ff3c000002be000203be003c
+:101310000800be000a01be005a0207000004be0019
+:101320000205be00de08900060c6b3000ff2970011
+:10133000804f5200040032006000200062c4b300fd
+:10134000824f520002003a009f9a97006a80420042
+:1013500081004000f1b79f0001037800f30f5300b4
+:101360000200340037012000f7b79f0000c3b3002c
+:10137000c0779f0056fb2f000f0343000e0078003c
+:10138000a0b79f00060778003d0037000800be00a8
+:101390000a01be00080307000006be007fb19700e7
+:1013a00068015100f2b79f004240a9000c003400d0
+:1013b0002d0307000002be000203be000800be00ad
+:1013c0000a01be00a20307006022b80046782d0083
+:1013d00077192400280307000004be000205be00a0
+:1013e000e80047008e0020000802be000a03be008d
+:1013f000b4b79f00c5b79f00d6b79f00e7b79f005f
+:101400000c01be00010478000c003700a40020008d
+:1014100005002000c0fd2f000f00400084010700e0
+:101420006fa89700ffa897000fb197009fb1970092
+:1014300005c3b300056441000001be00e00f510088
+:10144000e08f5900030034000e07e900e10f470068
+:10145000eeff3a00880078003fb49700cfb49700c1
+:101460005fb59700efb597000200370000c3b300e7
+:10147000806078000e07e900fcff3b0068874000b1
+:101480007fb397000600e000070034006022b80038
+:101490006033b8000800be000a01be00f401070076
+:1014a0000000e000b9ff3c000e0378002fb7970062
+:1014b00051fb2f008f804000010353009f9b97003a
+:1014c00067804300909f9f00020037000603e900f9
+:1014d0000000e900010178008200780003c3b30036
+:1014e000b1cf1100f9ff3200909f9f00de099000fc
+:1014f00061c6b3000ff29700814f52000300320023
+:1015000061c4b300814f520002003a000000e800bd
+:101510000a0037001000200051c6b3008ff2970078
+:1015200081cf5200050032000540780050c4b2005f
+:101530000080fb000000e9004f00de008301400056
+:10154000868f510001003400860178000300e0001e
+:101550001d00350000c3b300868f510006003d001a
+:1015600062c279006940400041c3b300814f52001c
+:1015700001003c00694050008300e9008100410007
+:1015800001003700840178000302e90001037800bc
+:10159000a142780080cf5200faff320091c3b3001d
+:1015a000814f500001003a00054be8000400e000c4
+:1015b00005003d000201e9008301e8001f9b970040
+:1015c0000603e800969f9f008ff397008700fb00bb
+:1015d0001f9a97000e007800060007004f0778005a
+:1015e0004f06be004f05be004f04be002f04b100e1
+:1015f00000000600f0874700889fbe008a9fbe005b
+:101600008c9fbe008e1f7800000478008144780013
+:101610000205be00040678000b00e00002003c005a
+:101620001b002000ca8b200060c6b30080cf54008e
+:101630000e00320060c4b30080cf54000b003200b3
+:1016400070c6b30080cf54000300320070c4b300f2
+:1016500080cf540081003a00e40f46007f0035003f
+:1016600058089000800f56007c003d000c06e800f2
+:1016700060c6b30080cf54001000320060c4b300d5
+:1016800080cf54000d003200081090000038a300f5
+:1016900004003a0058089000808f550001003d007a
+:1016a0005b0c9800580890000c005000500c9800fb
+:1016b00002003b000000eb00500c9800180890005e
+:1016c000e80090000c00e00026003c0002c3b300dc
+:1016d000827078000000e800100c9800d808900094
+:1016e0000100e00003003c00881090000138a300d6
+:1016f00005003200e8009000e2c2b300827078007a
+:101700000000e800100c9800580890008c00ea00d7
+:10171000810f500001003d000006ea008c00ea0045
+:10172000210c9800000646005c0c98008b0f5600b8
+:10173000010034000b0678003c0c9800e800900093
+:1017400018089000008040000c0178008a007800a2
+:101750005dfd0700580890000c0650004c0c9800e6
+:10176000900037008c8f550018003d00008040002d
+:101770000b0178008a00780053fd070018089000dc
+:1017800000804500100c98008b0556002b0c98002b
+:10179000d80890000100e00003003c008810900091
+:1017a0000138a30006003200e8009000e2c2b30056
+:1017b00082707800380890000000e800300c980033
+:1017c00058089000400c98007600370000804000d8
+:1017d0000c0178008a0078003bfd07001808900093
+:1017e00000004600100c98008c855500d808900029
+:1017f0000100e00003003c00881090000138a300c5
+:1018000005003200e8009000e2c2b3008270780068
+:101810000000e800100c980058089000808f5500d8
+:101820000100340080057800e8009000180890005e
+:10183000008040008c0045000b01780022fd07006d
+:10184000180890000b004000100c980058089000f9
+:101850008b0550002b0c98005200370018089000a0
+:10186000e80090009a7078000000e800100c9800e2
+:10187000d80890000100e00003003c0088109000b0
+:101880000138a30005003200e8009000e2c2b30076
+:10189000827078000000e800100c98005808900052
+:1018a0000000e000100034008b05e900808f550037
+:1018b0000100340080057800e800900018089000ce
+:1018c000008040008a00e8000b017800fefc070061
+:1018d000180890000b004000100c98005808900069
+:1018e0008b0550002b0c9800e80090001808900021
+:1018f00000804000095878000007e8000c00e00074
+:1019000004003500b1c2b300014878008e047800ad
+:1019100004003700d1c2b300014878008e0478007b
+:101920000c06ea007d8557008006eb0009003700b1
+:10193000a20020008c007800728057003100070060
+:101940007fb097008fb89700016d7800000678008f
+:101950008d06e8000c00e000f5ff3c000d00e00003
+:1019600009003a008e04780000c3b300805c780060
+:10197000050037008d06e900fc80570061c07e003d
+:1019800002c3b300825c40000d00e000f9ff3c00a0
+:10199000e800900018089000008040008084540007
+:1019a000390c98000810900074006000f00f50008f
+:1019b0000e003a00980890007800900000804000e7
+:1019c000a808900001004000b80890000100400005
+:1019d000c808900001004000f8089000810f5000f6
+:1019e00002003d0000805000000c98004f07780076
+:1019f0004f06be004f05be004f04be000f01b100f0
+:101a00000000060080027800010378001100090040
+:101a10000203d80080017800830a78000299b90097
+:101a200002015300920298000500780000000600b1
+:101a3000881f78008a9fbe008c9fbe00000478003b
+:101a40000205be000406be000401be000a00be007e
+:101a5000e6000700008cbe000c01be00fe0107007e
+:101a60000005550081855d002a0498003b0498001c
+:101a7000080078004f06be004f05be004f047800f6
+:101a800000000600889fbe0000047800e684400045
+:101a90001900d0004500de00f27f2000820f5000c8
+:101aa00010003a00000ceb00990478006f8164008c
+:101ab000200020001b003a00210190000200e000fd
+:101ac00018003a00110190000200e00015003a00f1
+:101ad000100020001100e000120032002000200061
+:101ae000100037000000e00004003a000100780018
+:101af0000e0007000000e00008003c00f200280093
+:101b00001901610001fe2300810c710021c02f002a
+:101b1000010c40000080eb0002003700000ceb00dd
+:101b20000000eb004f04be0000000600e60040008d
+:101b30001101780005002800850261006f01610035
+:101b400082087800020032001200200011003700e5
+:101b5000a0019000120020000300e0000d003a00f8
+:101b6000900190000300e0000a003a001000e0003d
+:101b700008003a00360037006403400096087800f9
+:101b800080017800530b78009009780004087800f1
+:101b900070015100110278000400e000f6ff3200ed
+:101ba0001300370064024000140378004f33de0056
+:101bb000838141008308730080017800d30378009b
+:101bc000cf3bde001403780006034300068a73004f
+:101bd0001302780004024200100378004f33de0045
+:101be0008609720090017800038841000201e90033
+:101bf00091017800ef8f5100eaff360010003700a6
+:101c000080017800530378004f33dd001002d100cb
+:101c1000040873006402400094037800cf3bdd00a9
+:101c20001303d10086897300110378004f33dd0060
+:101c30009401d100030a73009108d1000201e80069
+:101c400091017800ff8f5100edff3e00ef886100a9
+:101c50009188720002007800000006008f1fd100fa
+:101c6000010207008f87e9000000e0000000060085
+:101c7000809feb00fc0107008f87e9000000e00077
+:101c8000000006002800fa00889fbe008a9fbe0060
+:101c90008c9fbe0003866b008f0007006400e1008c
+:101ca000440032006408e1004a0032006100e100b3
+:101cb000460032006108e10049003200ec064700ae
+:101cc0006000b8003d02be003d03be00f486570030
+:101cd0006011b8003d04be003d05be007d0320003c
+:101ce0000b0037000000a0008d06e9001300320051
+:101cf0000402420085824a0006034b0087834b00a2
+:101d000000004000818048000201490083814900b1
+:101d10000802520089825a000a035b008b835b0031
+:101d2000f0ff3b000802420089824a000a034b0090
+:101d30008b834b008d06e900edff3a008482720030
+:101d400086827200f707b2008782720001003200bb
+:101d5000150020001e0490003e0b90000603540066
+:101d6000e63fb0000368a300070032000000a700b0
+:101d70000500a0008301d1000281d3008180d3003f
+:101d80000080d3000603e8008301d1000281d30064
+:101d90008180d3000080d3000002eb000482d200d7
+:101da0002100070003f0a1000cf0a70003f0a00041
+:101db0005d003700640247006408e100570032000c
+:101dc0003400be003401be00f6ff37006108e100b8
+:101dd000520032006011b8006000b800f1ff370017
+:101de00003ff270002002000fbff3700839f6800ed
+:101df0000100e00002003d0060001000e0801800db
+:101e00000300e00002003d0060011100e0811900c4
+:101e100043fa07004f00e00002003b0060001000a2
+:101e2000e080180000000600180020005700200085
+:101e3000080453000d003d000600200097fc2f0011
+:101e40000740e1001e0034008482720061026000dd
+:101e50008301d1000281d3008180d3000080d300b0
+:101e60000804e800f8ff3a00470020006104600021
+:101e700005047400040464000d0032006100400099
+:101e8000e080480060014900e081490003b8a500f6
+:101e9000070032000603e8006538e10004003a005c
+:101ea0008301d1000281d3008180d3000080d30060
+:101eb000f87f20000830e1000300350008037800b7
+:101ec0006000b8006011b8004433dd00f300b200d8
+:101ed0008301730000000600680447000294be00fe
+:101ee0000094be00fc0447008694be008494be00ab
+:101ef00009007800a501070008007800a301070089
+:101f000099007800814f70000b003b000800be0074
+:101f10007e0107004f00b10003003700f3ff2700e8
+:101f2000f2ff2f006110b9004f06be004f05be0042
+:101f30004f04be000080fa00000006008103780014
+:101f400084fa07000001be006000b8000478a30016
+:101f500013003a006220e10015003e000d00390038
+:101f60008301d1000281d3008180d3008301d1009d
+:101f70000281d3008180d3008301d1000281d3008c
+:101f80008180d3000538b000c42add00f300b20020
+:101f90008381720007f0a70003f0a0000000060094
+:101fa000f3ff2700f2ff2f006110b900fbff37009d
+:101fb00003ff2700f7ff37001400fa00889fbe00d8
+:101fc0008a9fbe008c9fbe000004be000205be00ba
+:101fd000680047000a90be000890be006b01070031
+:101fe0000070a7000bf0a100304320009e0290007b
+:101ff00080825200b0fe2f000028e10011003d0059
+:10200000b0fc2f000028e100150034001e099000ec
+:102010008e0890007e0090000501b0000201d10002
+:102020008180d3000080d3008502e800fbff3a00e6
+:102030000b00e000bcff3b0060001000e0801800d7
+:10204000b9ff3700f0ff2f00f1ff27000b00e00081
+:10205000b5ff3b000100280000002000b2ff370060
+:102060006000b800b0ff37004f89de0082017800c1
+:102070006d013700000000002800fa00889fbe00b4
+:102080008a9fbe008c9fbe0003866b0092ff0700f4
+:102090000028a30064003a000128a30067003a006a
+:1020a0000008a30062003a000108a30065003a009e
+:1020b0001e009000be08900081064000ed3fb10078
+:1020c000f4805700ee019000111ab8008e099000bc
+:1020d000311bb8009e099000311cb800511db8009a
+:1020e000f485570046000700fe0190003a00070003
+:1020f0008b85e8003e0007008e0990004000070035
+:10210000ee019000340007008b85e80038000700de
+:102110008e099000400007009e0990001b18b8002f
+:10212000890440000a854800fe0190003400070041
+:102130008b85e80038000700ee01900030000700b2
+:102140008e0990001b18b800890440000a854800d9
+:102150000a98a30008003a000402420085824a005f
+:1021600006034b0087834b0008044c0089844c0015
+:102170000a054d008d06e900848272008502730015
+:102180004c3add008502720001003200150020008b
+:10219000443ade001400b2004538de00cb45dd00d5
+:1021a0000b007000c540de00cb4ddd008b80700061
+:1021b0004549de00cb55dd000b017100c551de0045
+:1021c0000d03780018ff070003f0a1000cf0a70032
+:1021d00003f0a00054ff37001b18b8008502400030
+:1021e00006834800e0834b0060044c000700370082
+:1021f0001b18b8000603400087834800faff370029
+:102200001b18b8008703400008844800e0844c0095
+:1022100060054d00000006001b18b80008044000cf
+:1022200089844800faff37000108a3003bff3a0009
+:102230005800be005801be00e3ff37000008a300ad
+:1022400036ff3a0009047800f9ff3700000000006b
+:1022500007f0a20006003700020ab900001bb9000f
+:102260000200b80081004200810043000000060027
+:102270002800fa00889fbe008a9fbe008c9fbe0087
+:1022800007067800878669000c003b00030478008d
+:102290008704780008f0a10009f0a100840f500025
+:1022a000858f5800860f5900890f5c0003003300aa
+:1022b0000cf0a20001003a000cf0a10006ff07009c
+:1022c0006400e1005f003200780147006408e1002b
+:1022d000610032006c014700748557003200be0077
+:1022e0001201be003a04be001a05be001e03900093
+:1022f000be0a90008503530006003d000004fd0067
+:102300008104fd000205fd008305fd008703ea004e
+:10231000050378000df8a3000400320060041400e7
+:10232000e0841c0060051d00e0851d006022b800ef
+:102330007d0320000d38e1008006eb000b00390022
+:102340004433dd00f300b20083017300390037002d
+:10235000848272000d027800e10664008b85d10052
+:102360000a85d3008984d3000884d3008703e90059
+:10237000f7ff3b0008004000898048000a0149003f
+:102380008b81490004003b0060001000e0801800d1
+:1023900060011900e08119000358a3000900320010
+:1023a0008d82720084827200610260008301d1001c
+:1023b0000281d3008180d3000080d3000603e800af
+:1023c0001b0037000348a30017003a000600e00096
+:1023d000170034000603e9000d00a30000004800c8
+:1023e0008180480002014900838149000348a3001d
+:1023f0000f003a000600e000090034000603e9007f
+:1024000000004000818048000201490083814900aa
+:1024100001003a000003eb000348a300f5ff32007f
+:102420006022b80002003700848272006182660078
+:102430007dfe070003f0a1000cf0a70003f0a00050
+:10244000b9fe3700640147006408e10002003a0069
+:102450000df8a300b1fe3a003200be001201be002a
+:10246000b1fe370000000000889fbe008a9fbe00ba
+:102470008c9fbe000404be000605be00809fbe0007
+:10248000829fbe002f000700040678000800be00ef
+:102490000a01be002b000700840678004f03be002f
+:1024a0004f02be008d4f76007fb0970013003300bf
+:1024b000f0ff2f008b8f6b0006003b000d066600bf
+:1024c0000c00a7000a00370007f0a600100020004b
+:1024d0000a003700880f5200898f5a008a0f5b006c
+:1024e0008b8f5b00030039001000200001003e00cc
+:1024f0000000200007f0a7000000ea004f06be0021
+:102500004f05be004f04be0000000600e4824000fc
+:102510001078a30007003200640240001178a30085
+:102520003400be001401be00040032000330a700d6
+:10253000000006003500be001501be000330a000fb
+:102540000000060005ff2700058261000700320039
+:102550000428e10001003200240005000600070005
+:1025600001003a00440005000408050002000700cd
+:10257000f9ff3a00140005006f82610081027000cb
+:10258000850271008502720000000600800078005c
+:102590005002be005003be004439de00f700b20016
+:1025a000f37f200003016100090032000218e100fe
+:1025b00016003a0085017200830173008381730065
+:1025c0000008200015003a004000200013003700ea
+:1025d00085017200830173008381730005003a0056
+:1025e00004a8be0006a8be00100020000b003700a3
+:1025f0000201e9000402420085824a0006034b0002
+:1026000087834b000748a300f9ff32000740a00072
+:1026100004a8be0006a8be0020002000800098008c
+:102620009200980000000600881f780003047800dc
+:102630000300e00007003d0060001000e08018008b
+:1026400060011900e081190002003b0001f02d003b
+:10265000030037000400070008f0a70003f0a00003
+:102660004f04780000000600889fbe0000827000c2
+:1026700004027100048271002400320036432000fd
+:10268000c50020008383cf000a0039000541b10056
+:102690008283cf00070039000541b1008183cf005c
+:1026a000040039000541b1008083cf0001003900ea
+:1026b0000541b10085c353006022b800120032000a
+:1026c0000a003b0084827200610260008301d10035
+:1026d0000281d3008180d3000080d3000603e8008c
+:1026e0008743e800f7ff3a0007003700000040008a
+:1026f0008180480002014900838149000603e90006
+:102700008743e900f9ff3a00c7fd07004f04be0008
+:0427100000000600bf
+:020000040000fa
+:10271400253600002e34000066200000560000001c
+:020000040000fa
+:102724000400fa00100798000000eb00000f780086
+:1027340002003700c80107001e0fe8001e009000c9
+:102744009e007800808f5000faff35000080fa0068
+:10275400000006000200fa00004f78001e417800d5
+:10276400ef40610004c8bf0000c0700004e8b70077
+:102774001e00fb004480de0000407800e34060005f
+:1027840005c8bf0000c0700005e8b7000080fa006b
+:10279400000006000200fa00004f78000602a800bc
+:1027a4000000000030108000610060000000e000c4
+:1027b400fcff3a008620a900c00720001010880002
+:1027c4000000000030048000620060000000e000af
+:1027d400fcff32008620a9000222ef000000000066
+:1027e40030048000620060000000e000fcff320062
+:1027f4008620a9001e00fb001010880000000000c5
+:1028040030048000620060000000e000fcff320041
+:102814008620a9000642a8000000000030108000b5
+:10282400640060000000e000fcff3a000080fa0051
+:10283400000006000000fa00f0c1b300c5ff070065
+:1028440020032000b6ff070080c3b300d1ff0700b8
+:1028540090c3b300cfff070040c1b300cdff070012
+:1028640004c8bf00cbff070005c8bf00c9ff0700ad
+:10287400c0c6b300c7ff0700800c2000a8ff0700f4
+:1028840080c3b300c3ff0700c0c0b300c1ff07008b
+:1028940010c0b300bfff070020002000a0ff070006
+:1028a4000080fa00000006000200fa00004f7800e1
+:1028b400114798009e409000600020008008dd00d1
+:1028c4001e40780000c040000074a000b1ff070063
+:1028d4000080fa00000006000200fa00004f7800b1
+:1028e4000602a800000000003010800061006000b3
+:1028f4000000e000fcff3a008620a900c007200089
+:1029040010108800000000003004800062006000a5
+:102914000000e000fcff32008620a9000004200033
+:102924001010880000000000300480006200600085
+:102934000000e000fcff32008620a9001e00fb001e
+:102944001010880000000000300480006200600065
+:102954000000e000fcff32008620a9000642a80027
+:102964000000000030108000640060000000e000ff
+:10297400fcff3a000080fa00000006000400fa00a0
+:10298400100798000000eb00000f78000602a80072
+:102994000000000030108000610060000000e000d2
+:1029a400fcff3a008620a900c00720001010880010
+:1029b4000000000030048000620060000000e000bd
+:1029c400fcff32001b0037008620a9001e0078009f
+:1029d400e60f500003003c00000c2000101088009b
+:1029e40003003700000420001010880000000000dd
+:1029f40030048000620060000000e000fcff320050
+:102a04008620a9001e0078009e00900000804000ef
+:102a1400104078000000fb00101088000000000047
+:102a240030048000620060000000e000fcff32001f
+:102a34001e0fe8001e007800e70f5000e2ff34008c
+:102a44008620a9000642a800000000003010800083
+:102a5400640060000000e000fcff3a000080fa001f
+:102a6400000006000200fa00000f780080c1b300e5
+:102a740048ff070010c0b30046ff07001e0078009f
+:102a8400beff07000080fa00000006000400fa0000
+:102a9400100798000000eb00000f78000000eb0026
+:102aa400000f780004003700304080000000e80088
+:102ab400304088001e0fe8001e0078009e00900041
+:102ac4000080400010407800ea4f5000f6ff3a00c2
+:102ad4000080fa00000006000000fa00c0ff290090
+:102ae4006019880030002000001688001021ef00d3
+:102af400701a26006008880081088000f0fc2f000e
+:102b0400008060000050a0008008880011e1a80047
+:102b140094e0a80084e0a90007e2a900d0092000fd
+:102b24002010880007e2a8008620a9001221ef00e7
+:102b340090d023007008880091088000f0fc2f00da
+:102b4400008060000050a0009008880013e1a800f5
+:102b54002023ef002223ef002423ef0095a0a800f8
+:102b640085a0a9002043a80001198000f0f12f00de
+:102b7400008060000060a000001988001119800026
+:102b8400f0ff2100008060001019880011198000f6
+:102b940030fc2f000080600010198800211980008b
+:102ba400f00f2e00008060000080a0002019880033
+:102bb40010c0b30024e3b70021e3a8000080fa00aa
+:102bc400000006001400fa00c3ff07004c000700d1
+:102bd40018ff07008040eb000040eb0032ff0700c5
+:102be40040408000cf80de0095f60700323323009a
+:102bf40033b5230095f60700809fbe00a038290056
+:102c0400801f78000e0078006df70700e6875700f4
+:102c14000e00780059ff0700eeff37000200fa00ab
+:102c2400000f7800004080001e0178008001400001
+:102c34002186200081804100820878000000e8009d
+:102c44000040880001408000f001280000806000fe
+:102c54000000e00004003d000000e90001fe2f0038
+:102c6400008070000000e8000040880010408000f0
+:102c7400ff0f500003003c00104080000000e800fb
+:102c8400104088000080fa00000006000800fa00e6
+:102c94006000b800008fbe000000eb002007980021
+:102ca4000b0037002e00900080004000208620009a
+:102cb40000804000100078008000eb001e0f4000f0
+:102cc4005e9748002e0090000000e800200798005e
+:102cd4002e009000ff0f5000f2ff340010408000df
+:102ce400cf80de000001be001e00be008bf6070090
+:102cf400300798003e0090000080fa0000000600b3
+:102d04000200fa000000eb00000f78000700370013
+:102d14001e007800800040002086200000804000d3
+:102d24008000eb00010878001e0fe8001e00780008
+:102d3400ff0f5000f6ff34000080fa000000060088
+:020000040000fa
+:102d440062080000400000000000000000080000cd
+:102d5400040000000000000004080000020000005d
+:102d64000200000070540000060800000200000089
+:102d7400000000000808000002000000000000003d
+:102d8400a20800001a00000002000000686a6c003b
+:102d9400747a4c00000001000002000004000800e6
+:102da40000100000000020002b2d23003000000044
+:102db4000a08000058000000020000006e616e0066
+:102dc400004e41004e0069006e660000494e460008
+:102dd400000000000000000000244000000000008b
+:102de4000000000059400000000000000088c300fb
+:102df4004000000000008400d79741000080e000fc
+:102e04003779c300414317006e05b500b5b8930088
+:102e140046f5f9003fe903004f384d00321d3000fc
+:102e2400f9487700825a3c00bf737f00dd4f1500dc
+:102e340075000000bc080000020000000200000051
+:082e4400300000000000000056
+:020000040000fa
+:102e4c00c422ef0039060900000000000000060053
+:0c2e5c00793e09000000000000000600a4
+:020000040000fa
+:020000040001f9
+:0457f8000ff90000a5
+:020000040000fa
+:020000040001f9
+:0457fc007f3f0000eb
+:00000001FF
diff --git a/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.map b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.map
new file mode 100644
index 0000000..fc1e5cf
--- /dev/null
+++ b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.map
@@ -0,0 +1,1377 @@
+Microchip Technology Inc, v1.41 (B)
+
+Tool Name:
+ c:\program files (x86)\microchip\xc16\v1.41\bin\bin\..\bin/elf-ld.exe
+
+Command:
+ -p24FJ64GA002 \
+ --mdfp=C:/Program Files (x86)/Microchip/MPLABX/v5.30/packs/Microchip/PIC24F-GA-GB_DFP/1.1.74/xc16 \
+ -o \
+ dist/default/production/EE3102Testing.X.production.elf \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/.. \
+ -LC:/Program Files (x86)/Microchip/MPLABX/v5.30/packs/Microchip/PIC24F-GA-GB_DFP/1.1.74/xc16/bin/../support/PIC24F/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/PIC24E/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/PIC24F/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/PIC24H/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/dsPIC30F/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/dsPIC33C/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/dsPIC33E/gld \
+ -Lc:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../support/dsPIC33F/gld \
+ build/default/production/spies046_lab6_asm_v001.o \
+ build/default/production/spies046_lab6_buffer_v001.o \
+ build/default/production/spies046_lab6_lcdLib_v001.o \
+ build/default/production/spies046_lab6_main_v001.o \
+ --defsym=__MPLAB_BUILD=1 \
+ -Tp24FJ64GA002.gld.00 \
+ --stack=16 \
+ --check-sections \
+ --data-init \
+ --pack-data \
+ --handles \
+ --isr \
+ --no-gc-sections \
+ --fill-upper=0 \
+ --stackguard=16 \
+ --no-force-link \
+ --smart-io \
+ -Map=dist/default/production/EE3102Testing.X.production.map \
+ --report-mem \
+ --memorysummary \
+ dist/default/production/memoryfile.xml \
+ -start-group \
+ --library=lega-pic30-elf \
+ --library=m-elf \
+ --library=lega-c-elf \
+ -end-group \
+
+
+Optional library libpPIC24Fxxx.a not found
+Archive member included because of file (symbol)
+
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt0_standard.o)
+ (__resetPRI)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(data_init_standard.o)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt0_standard.o) (__data_init_standard)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt_start_mode_normal.Leo)
+ (__crt_start_mode_normal)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsisf.eo)
+ build/default/production/spies046_lab6_main_v001.o (___floatsisf)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo)
+ build/default/production/spies046_lab6_main_v001.o (___mulsf3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(udivsi3.eo)
+ build/default/production/spies046_lab6_buffer_v001.o (___udivsi3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdisf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsisf.eo) (___floatdisf)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundisf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdisf.eo) (___floatundisf)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fpack.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo) (__fpack)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack2.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo) (__funpack2)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(futil.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo) (__fPropagateNaN)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack2.eo) (__funpack)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo)
+ build/default/production/spies046_lab6_main_v001.o (__sprintf_fF)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo) (___Printf_fF)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(memcpy.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo) (_memcpy)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(strchr.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo) (_strchr)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputtxt.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo) (__Puttxt)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xvacopy.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo) (__Vacopy)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputfld_fF.XXeo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo) (___Putfld_fF)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputfld_fF.XXeo) (___Ldtob_fF)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xgenld_fF.XXeo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___Genld_fF)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(div.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xgenld_fF.XXeo) (_div)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(ldiv.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (_ldiv)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldunsca.XX_eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (__LDunscale)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xdnorm.XX_elo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldunsca.XX_eo) (__Dnorm)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(deqltle.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___ltdf2)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dgtge.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___gtdf2)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divdf3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___divdf3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divsi3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___divsi3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpack.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divdf3.eo) (__dpack)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack2.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divdf3.eo) (__dunpack2)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(extendsfdf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputfld_fF.XXeo) (___extendsfdf2)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fixdfsi.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (_(float, int, long long, double, float, short, int))
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsidf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___floatsidf)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(muldf3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___muldf3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(subdf3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo) (___subdf3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsi3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(ldiv.XX_eo) (___mulsi3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(adddf3.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(subdf3.eo) (___adddf3)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dcompare.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(deqltle.eo) (__dcompare)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpropagateNaN.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack2.eo) (__dPropagateNaN)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dtype.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dcompare.eo) (__dtype)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack2.eo) (__dunpack)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdidf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsidf.eo) (___floatdidf)
+c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundidf.eo)
+ c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdidf.eo) (___floatundidf)
+
+
+xc16-ld 1.41 (B)
+
+Default Code Model: Small
+Default Data Model: Large
+Default Scalar Model: Small
+
+"program" Memory [Origin = 0x200, Length = 0xa9fc]
+
+section address length (PC units) length (bytes) (dec)
+------- ------- ----------------- --------------------
+.text 0x200 0x118a 0x1a4f (6735)
+.const 0x138a 0x8 0xc (12)
+.text 0x1392 0x310 0x498 (1176)
+.dinit 0x16a2 0x84 0xc6 (198)
+.text 0x1726 0xe 0x15 (21)
+
+ Total "program" memory used (bytes): 0x1fce (8142) 12%
+
+
+"data" Memory [Origin = 0x800, Length = 0x2000]
+
+section address alignment gaps total length (dec)
+------- ------- -------------- -------------------
+.nbss 0x800 0 0x4 (4)
+.ndata 0x804 0 0x2 (2)
+.nbss 0x806 0 0x4 (4)
+.data 0x80a 0 0x58 (88)
+.bss 0x862 0 0x40 (64)
+.data 0x8a2 0 0x1c (28)
+
+ Total "data" memory used (bytes): 0xbe (190) 2%
+
+
+Dynamic Memory Usage
+
+region address maximum length (dec)
+------ ------- ---------------------
+heap 0 0 (0)
+stack 0x8be 0x1f42 (8002)
+
+ Maximum dynamic memory (bytes): 0x1f42 (8002)
+
+Note: Project is using a large data memory model when small data memory model is sufficient.
+
+
+External Symbols in Data Memory (by address):
+
+ 0x0800 _write
+ 0x0802 _numE
+ 0x0804 _con1
+ 0x0805 _con2
+ 0x0806 _strLength
+ 0x0808 _adValue
+ 0x0862 _buffer
+
+External Symbols in Data Memory (by name):
+
+ 0x0808 _adValue
+ 0x0862 _buffer
+ 0x0804 _con1
+ 0x0805 _con2
+ 0x0802 _numE
+ 0x0806 _strLength
+ 0x0800 _write
+
+External Symbols in Program Memory (by address):
+
+ 0x000200 __resetPRI
+ 0x00023c __psv_init
+ 0x000252 __data_init_standard
+ 0x000252 __data_init
+ 0x0002cc __ADC1Interrupt
+ 0x0002f4 __T2Interrupt
+ 0x00031c __DefaultInterrupt
+ 0x000322 ___floatsisf
+ 0x000328 ___mulsf3
+ 0x000390 ___udivsi3
+ 0x0003b0 ___floatdisf
+ 0x0003d0 ___floatundisf
+ 0x00042e __fpack
+ 0x00047a __funpack2
+ 0x00048a __fPropagateNaN
+ 0x00049c __fbopExit
+ 0x0004a4 __fbopReturnNaN
+ 0x0004aa __funpack
+ 0x0004d4 sprintf_fF.XXeo:_prout
+ 0x0004e2 __sprintf_fF
+ 0x000500 ___Printf_fF
+ 0x000664 _memcpy
+ 0x000672 _strchr
+ 0x00068a __Puttxt
+ 0x000802 __Vacopy
+ 0x000806 ___Putfld_fF
+ 0x0008aa ___Ldtob_fF
+ 0x000afa ___Genld_fF
+ 0x000d02 _div
+ 0x000d18 _ldiv
+ 0x000d42 __LDunscale
+ 0x000d96 __Dnorm
+ 0x000e2e ___ltdf2
+ 0x000e2e ___eqdf2
+ 0x000e2e ___ledf2
+ 0x000e38 ___gedf2
+ 0x000e38 ___gtdf2
+ 0x000e42 ___divdf3
+ 0x000ef6 ___divsi3
+ 0x000f14 __dpack
+ 0x000f6c __dunpack2
+ 0x000f8e __dreturnNaN
+ 0x000f94 __dunpack2exit
+ 0x000f9e ___extendsfdf2
+ 0x000fdc ___fixdfsi
+ 0x001034 ___floatsidf
+ 0x00103c ___muldf3
+ 0x001128 ___subdf3
+ 0x00112c ___mulp32eds3
+ 0x00112c ___mulp32peds3
+ 0x00112c ___mulsi3
+ 0x001138 ___adddf3
+ 0x001234 __dcompare
+ 0x001286 __dPropagateNaN
+ 0x0012a2 __dtype
+ 0x0012c6 __dunpack
+ 0x001314 ___floatdidf
+ 0x001334 ___floatundidf
+ 0x001392 _delay
+ 0x0013ac _contrastMask
+ 0x0013cc _lcd_cmd
+ 0x00141c _lcd_init
+ 0x001456 _lcd_setCursor
+ 0x00146e _lcd_printChar
+ 0x0014c0 _lcd_printStr
+ 0x001534 _lcd_ShiftL
+ 0x001548 _findLength
+ 0x00156e _setup
+ 0x0015e4 _main
+ 0x001610 _putVal
+ 0x001648 _getAvg
+ 0x001682 _initBuffer
+ 0x001726 _mbs_wait_100us
+ 0x00172e _mbs_wait_1ms
+
+External Symbols in Program Memory (by name):
+
+ 0x0002cc __ADC1Interrupt
+ 0x00031c __DefaultInterrupt
+ 0x000d96 __Dnorm
+ 0x000d42 __LDunscale
+ 0x00068a __Puttxt
+ 0x0002f4 __T2Interrupt
+ 0x000802 __Vacopy
+ 0x000afa ___Genld_fF
+ 0x0008aa ___Ldtob_fF
+ 0x000500 ___Printf_fF
+ 0x000806 ___Putfld_fF
+ 0x001138 ___adddf3
+ 0x000e42 ___divdf3
+ 0x000ef6 ___divsi3
+ 0x000e2e ___eqdf2
+ 0x000f9e ___extendsfdf2
+ 0x000fdc ___fixdfsi
+ 0x001314 ___floatdidf
+ 0x0003b0 ___floatdisf
+ 0x001034 ___floatsidf
+ 0x000322 ___floatsisf
+ 0x001334 ___floatundidf
+ 0x0003d0 ___floatundisf
+ 0x000e38 ___gedf2
+ 0x000e38 ___gtdf2
+ 0x000e2e ___ledf2
+ 0x000e2e ___ltdf2
+ 0x00103c ___muldf3
+ 0x00112c ___mulp32eds3
+ 0x00112c ___mulp32peds3
+ 0x000328 ___mulsf3
+ 0x00112c ___mulsi3
+ 0x001128 ___subdf3
+ 0x000390 ___udivsi3
+ 0x001286 __dPropagateNaN
+ 0x000252 __data_init
+ 0x000252 __data_init_standard
+ 0x001234 __dcompare
+ 0x000f14 __dpack
+ 0x000f8e __dreturnNaN
+ 0x0012a2 __dtype
+ 0x0012c6 __dunpack
+ 0x000f6c __dunpack2
+ 0x000f94 __dunpack2exit
+ 0x00048a __fPropagateNaN
+ 0x00049c __fbopExit
+ 0x0004a4 __fbopReturnNaN
+ 0x00042e __fpack
+ 0x0004aa __funpack
+ 0x00047a __funpack2
+ 0x00023c __psv_init
+ 0x000200 __resetPRI
+ 0x0004e2 __sprintf_fF
+ 0x0013ac _contrastMask
+ 0x001392 _delay
+ 0x000d02 _div
+ 0x001548 _findLength
+ 0x001648 _getAvg
+ 0x001682 _initBuffer
+ 0x001534 _lcd_ShiftL
+ 0x0013cc _lcd_cmd
+ 0x00141c _lcd_init
+ 0x00146e _lcd_printChar
+ 0x0014c0 _lcd_printStr
+ 0x001456 _lcd_setCursor
+ 0x000d18 _ldiv
+ 0x0015e4 _main
+ 0x001726 _mbs_wait_100us
+ 0x00172e _mbs_wait_1ms
+ 0x000664 _memcpy
+ 0x001610 _putVal
+ 0x00156e _setup
+ 0x000672 _strchr
+ 0x0004d4 sprintf_fF.XXeo:_prout
+
+Memory Configuration
+
+Name Origin Length Attributes
+data 0x000800 0x002000 a !xr
+reset 0x000000 0x000004
+ivt 0x000004 0x0000fc
+_reserved 0x000100 0x000004
+aivt 0x000104 0x0000fc
+program 0x000200 0x00a9fc xr
+CONFIG2 0x00abfc 0x000002
+CONFIG1 0x00abfe 0x000002
+*default* 0x000000 0xffffffff
+
+Linker script and memory map
+
+LOAD build/default/production/spies046_lab6_asm_v001.o
+LOAD build/default/production/spies046_lab6_buffer_v001.o
+LOAD build/default/production/spies046_lab6_lcdLib_v001.o
+LOAD build/default/production/spies046_lab6_main_v001.o
+ 0x0001 __MPLAB_BUILD = 0x1
+LOAD pPIC24Fxxx
+LOAD c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libfx-elf.a
+ 0xabfc __CONFIG2 = 0xabfc
+ 0xabfe __CONFIG1 = 0xabfe
+ 0x0001 __NO_HANDLES = 0x1
+ 0x0200 __CODE_BASE = 0x200
+ 0xa9fc __CODE_LENGTH = 0xa9fc
+ 0x0004 __IVT_BASE = 0x4
+ 0x0104 __AIVT_BASE = 0x104
+ 0x0800 __DATA_BASE = 0x800
+ 0x2000 __DATA_LENGTH = 0x2000
+
+.reset 0x000000 0x4
+ 0x000000 0x2 SHORT 0x200 ABSOLUTE (__reset)
+ 0x000001 0x2 SHORT 0x4
+ 0x000002 0x2 SHORT 0x0 ((ABSOLUTE (__reset) >> 0x10) & 0x7f)
+ 0x000003 0x2 SHORT 0x0
+
+.text 0x000200 0x118a
+ *(.init)
+ .init 0x000200 0x4c c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt0_standard.o)
+ 0x000200 __resetPRI
+ 0x000200 __reset
+ 0x00023c __psv_init
+ .init 0x00024c 0x7c c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(data_init_standard.o)
+ 0x000252 __data_init_standard
+ 0x000252 __data_init
+ *(.user_init)
+ *(.handle)
+ *(.isr*)
+ .isr.text 0x0002cc 0x50 build/default/production/spies046_lab6_main_v001.o
+ 0x0002cc __ADC1Interrupt
+ 0x0002f4 __T2Interrupt
+ .isr 0x00031c 0x4 default_isr
+ 0x00031c __DefaultInterrupt
+ *(.libc)
+ *(.libm)
+ *(.libdsp)
+ *(.lib*)
+ .libpic30_crt_start_mode
+ 0x000320 0x2 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt_start_mode_normal.Leo)
+ 0x000320 __crt_start_mode
+ 0x000320 __crt_start_mode_normal
+ .libm.floatsisf
+ 0x000322 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsisf.eo)
+ 0x000322 ___floatsisf
+ .libm.mulsf3 0x000328 0x68 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo)
+ 0x000328 ___mulsf3
+ .libm.udivsi3 0x000390 0x20 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(udivsi3.eo)
+ 0x000390 ___udivsi3
+ .libm.floatdisf
+ 0x0003b0 0x20 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdisf.eo)
+ 0x0003b0 ___floatdisf
+ .libm.floatundisf
+ 0x0003d0 0x5e c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundisf.eo)
+ 0x0003d0 ___floatundisf
+ .libm.fpack 0x00042e 0x4c c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fpack.eo)
+ 0x00042e __fpack
+ .libm.funpack2
+ 0x00047a 0x10 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack2.eo)
+ 0x00047a __funpack2
+ .libm.fPropagateNaN
+ 0x00048a 0x12 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(futil.eo)
+ 0x00048a __fPropagateNaN
+ .libm.fbobExit
+ 0x00049c 0x8 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(futil.eo)
+ 0x00049c __fbopExit
+ .libm.fbopReturnNaN
+ 0x0004a4 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(futil.eo)
+ 0x0004a4 __fbopReturnNaN
+ .libm.funpack 0x0004aa 0x2a c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack.eo)
+ 0x0004aa __funpack
+ .libc.prout 0x0004d4 0xe c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo)
+ 0x0004d4 sprintf_fF.XXeo:_prout
+ .libc._sprintf_fF
+ 0x0004e2 0x1e c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo)
+ 0x0004e2 __sprintf_fF
+ .libc.__Printf_fF
+ 0x000500 0x164 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo)
+ 0x000500 ___Printf_fF
+ .libc.memcpy 0x000664 0xe c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(memcpy.XX_eo)
+ 0x000664 _memcpy
+ .libc.strchr 0x000672 0x18 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(strchr.XX_eo)
+ 0x000672 _strchr
+ .libc._Puttxt 0x00068a 0x178 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputtxt.XX_eo)
+ 0x00068a __Puttxt
+ .libc._Vacopy 0x000802 0x4 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xvacopy.XX_eo)
+ 0x000802 __Vacopy
+ .libc.__Putfld_fF
+ 0x000806 0xa4 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputfld_fF.XXeo)
+ 0x000806 ___Putfld_fF
+ .libc.__Ldtob_fF
+ 0x0008aa 0x250 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo)
+ 0x0008aa ___Ldtob_fF
+ .libc.__Genld_fF
+ 0x000afa 0x208 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xgenld_fF.XXeo)
+ 0x000afa ___Genld_fF
+ .libc.div 0x000d02 0x16 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(div.XX_eo)
+ 0x000d02 _div
+ .libc.ldiv 0x000d18 0x2a c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(ldiv.XX_eo)
+ 0x000d18 _ldiv
+ .libc._LDunscale
+ 0x000d42 0x54 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldunsca.XX_eo)
+ 0x000d42 __LDunscale
+ .libc._Dnorm 0x000d96 0x98 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xdnorm.XX_elo)
+ 0x000d96 __Dnorm
+ .libm.eqdf2 0x000e2e 0xa c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(deqltle.eo)
+ 0x000e2e ___eqdf2
+ 0x000e2e ___ltdf2
+ 0x000e2e ___ledf2
+ .libm.gtdf2 0x000e38 0xa c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dgtge.eo)
+ 0x000e38 ___gtdf2
+ 0x000e38 ___gedf2
+ .libm.divdf3 0x000e42 0xb4 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divdf3.eo)
+ 0x000e42 ___divdf3
+ .libm.divsi3 0x000ef6 0x1e c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divsi3.eo)
+ 0x000ef6 ___divsi3
+ .libm.dpack 0x000f14 0x58 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpack.eo)
+ 0x000f14 __dpack
+ .libm.dunpack2
+ 0x000f6c 0x32 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack2.eo)
+ 0x000f6c __dunpack2
+ 0x000f8e __dreturnNaN
+ 0x000f94 __dunpack2exit
+ .libm.extendsfdf2
+ 0x000f9e 0x3e c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(extendsfdf.eo)
+ 0x000f9e ___extendsfdf2
+ .libm.fixdfsi 0x000fdc 0x58 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fixdfsi.eo)
+ 0x000fdc _(float, int, long long, double, float, short, int)
+ .libm.floatsidf
+ 0x001034 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsidf.eo)
+ 0x001034 ___floatsidf
+ *fill* 0x00103a 0x400
+ .libm.muldf3 0x00103c 0xec c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(muldf3.eo)
+ 0x00103c ___muldf3
+ .libm.subdf3 0x001128 0x4 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(subdf3.eo)
+ 0x001128 ___subdf3
+ .libm.mulsi3 0x00112c 0xc c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsi3.eo)
+ 0x00112c ___mulp32peds3
+ 0x00112c ___mulsi3
+ 0x00112c ___mulp32eds3
+ .libm.adddf3 0x001138 0xfc c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(adddf3.eo)
+ 0x001138 ___adddf3
+ .libm.dcompare
+ 0x001234 0x52 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dcompare.eo)
+ 0x001234 __dcompare
+ .libm.dPropagateNaN
+ 0x001286 0x1c c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpropagateNaN.eo)
+ 0x001286 __dPropagateNaN
+ .libm.dtype 0x0012a2 0x24 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dtype.eo)
+ 0x0012a2 __dtype
+ .libm.dunpack 0x0012c6 0x4e c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack.eo)
+ 0x0012c6 __dunpack
+ .libm.floatdidf
+ 0x001314 0x20 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdidf.eo)
+ 0x001314 ___floatdidf
+ .libm.floatundidf
+ 0x001334 0x56 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundidf.eo)
+ 0x001334 ___floatundidf
+
+usercode
+ *(usercode)
+
+__CONFIG2
+ *(__CONFIG2.sec*)
+
+__CONFIG1
+ *(__CONFIG1.sec*)
+
+.comment
+ *(.comment)
+
+.debug_info 0x000000 0x1895
+ *(.debug_info)
+ .debug_info 0x000000 0x94 build/default/production/spies046_lab6_asm_v001.o
+ .debug_info 0x000094 0x24d build/default/production/spies046_lab6_buffer_v001.o
+ .debug_info 0x0002e1 0x647 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_info 0x000928 0xf6d build/default/production/spies046_lab6_main_v001.o
+ *(.gnu.linkonce.wi.*)
+
+.debug_abbrev 0x000000 0x36d
+ *(.debug_abbrev)
+ .debug_abbrev 0x000000 0x14 build/default/production/spies046_lab6_asm_v001.o
+ .debug_abbrev 0x000014 0xbb build/default/production/spies046_lab6_buffer_v001.o
+ .debug_abbrev 0x0000cf 0x148 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_abbrev 0x000217 0x156 build/default/production/spies046_lab6_main_v001.o
+
+.debug_line 0x000000 0x387
+ *(.debug_line)
+ .debug_line 0x000000 0x49 build/default/production/spies046_lab6_asm_v001.o
+ .debug_line 0x000049 0x5c build/default/production/spies046_lab6_buffer_v001.o
+ .debug_line 0x0000a5 0x185 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_line 0x00022a 0x15d build/default/production/spies046_lab6_main_v001.o
+
+.debug_frame 0x000000 0x25a
+ *(.debug_frame)
+ .debug_frame 0x000000 0x68 build/default/production/spies046_lab6_buffer_v001.o
+ .debug_frame 0x000068 0x110 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_frame 0x000178 0xe2 build/default/production/spies046_lab6_main_v001.o
+
+.debug_str 0x000000 0x87
+ *(.debug_str)
+ .debug_str 0x000000 0x1f build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_str 0x00001f 0x68 build/default/production/spies046_lab6_main_v001.o
+
+.debug_loc
+ *(.debug_loc)
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_pubnames
+ 0x000000 0x163
+ *(.debug_pubnames)
+ .debug_pubnames
+ 0x000000 0x55 build/default/production/spies046_lab6_buffer_v001.o
+ .debug_pubnames
+ 0x000055 0xb9 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_pubnames
+ 0x00010e 0x55 build/default/production/spies046_lab6_main_v001.o
+
+.debug_ranges
+ *(.debug_ranges)
+
+.debug_aranges 0x000000 0x60
+ *(.debug_aranges)
+ .debug_aranges
+ 0x000000 0x18 build/default/production/spies046_lab6_asm_v001.o
+ .debug_aranges
+ 0x000018 0x18 build/default/production/spies046_lab6_buffer_v001.o
+ .debug_aranges
+ 0x000030 0x18 build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_aranges
+ 0x000048 0x18 build/default/production/spies046_lab6_main_v001.o
+ 0x0000 WREG0 = 0x0
+ 0x0000 _WREG0 = 0x0
+ 0x0002 WREG1 = 0x2
+ 0x0002 _WREG1 = 0x2
+ 0x0004 WREG2 = 0x4
+ 0x0004 _WREG2 = 0x4
+ 0x0006 WREG3 = 0x6
+ 0x0006 _WREG3 = 0x6
+ 0x0008 WREG4 = 0x8
+ 0x0008 _WREG4 = 0x8
+ 0x000a WREG5 = 0xa
+ 0x000a _WREG5 = 0xa
+ 0x000c WREG6 = 0xc
+ 0x000c _WREG6 = 0xc
+ 0x000e WREG7 = 0xe
+ 0x000e _WREG7 = 0xe
+ 0x0010 WREG8 = 0x10
+ 0x0010 _WREG8 = 0x10
+ 0x0012 WREG9 = 0x12
+ 0x0012 _WREG9 = 0x12
+ 0x0014 WREG10 = 0x14
+ 0x0014 _WREG10 = 0x14
+ 0x0016 WREG11 = 0x16
+ 0x0016 _WREG11 = 0x16
+ 0x0018 WREG12 = 0x18
+ 0x0018 _WREG12 = 0x18
+ 0x001a WREG13 = 0x1a
+ 0x001a _WREG13 = 0x1a
+ 0x001c WREG14 = 0x1c
+ 0x001c _WREG14 = 0x1c
+ 0x001e WREG15 = 0x1e
+ 0x001e _WREG15 = 0x1e
+ 0x0020 SPLIM = 0x20
+ 0x0020 _SPLIM = 0x20
+ 0x002e PCL = 0x2e
+ 0x002e _PCL = 0x2e
+ 0x0030 PCH = 0x30
+ 0x0030 _PCH = 0x30
+ 0x0032 TBLPAG = 0x32
+ 0x0032 _TBLPAG = 0x32
+ 0x0034 PSVPAG = 0x34
+ 0x0034 _PSVPAG = 0x34
+ 0x0036 RCOUNT = 0x36
+ 0x0036 _RCOUNT = 0x36
+ 0x0042 SR = 0x42
+ 0x0042 _SR = 0x42
+ 0x0042 _SRbits = 0x42
+ 0x0044 CORCON = 0x44
+ 0x0044 _CORCON = 0x44
+ 0x0044 _CORCONbits = 0x44
+ 0x0052 DISICNT = 0x52
+ 0x0052 _DISICNT = 0x52
+ 0x0060 CNEN1 = 0x60
+ 0x0060 _CNEN1 = 0x60
+ 0x0060 _CNEN1bits = 0x60
+ 0x0062 CNEN2 = 0x62
+ 0x0062 _CNEN2 = 0x62
+ 0x0062 _CNEN2bits = 0x62
+ 0x0068 CNPU1 = 0x68
+ 0x0068 _CNPU1 = 0x68
+ 0x0068 _CNPU1bits = 0x68
+ 0x006a CNPU2 = 0x6a
+ 0x006a _CNPU2 = 0x6a
+ 0x006a _CNPU2bits = 0x6a
+ 0x0080 INTCON1 = 0x80
+ 0x0080 _INTCON1 = 0x80
+ 0x0080 _INTCON1bits = 0x80
+ 0x0082 INTCON2 = 0x82
+ 0x0082 _INTCON2 = 0x82
+ 0x0082 _INTCON2bits = 0x82
+ 0x0084 IFS0 = 0x84
+ 0x0084 _IFS0 = 0x84
+ 0x0084 _IFS0bits = 0x84
+ 0x0086 IFS1 = 0x86
+ 0x0086 _IFS1 = 0x86
+ 0x0086 _IFS1bits = 0x86
+ 0x0088 IFS2 = 0x88
+ 0x0088 _IFS2 = 0x88
+ 0x0088 _IFS2bits = 0x88
+ 0x008a IFS3 = 0x8a
+ 0x008a _IFS3 = 0x8a
+ 0x008a _IFS3bits = 0x8a
+ 0x008c IFS4 = 0x8c
+ 0x008c _IFS4 = 0x8c
+ 0x008c _IFS4bits = 0x8c
+ 0x0094 IEC0 = 0x94
+ 0x0094 _IEC0 = 0x94
+ 0x0094 _IEC0bits = 0x94
+ 0x0096 IEC1 = 0x96
+ 0x0096 _IEC1 = 0x96
+ 0x0096 _IEC1bits = 0x96
+ 0x0098 IEC2 = 0x98
+ 0x0098 _IEC2 = 0x98
+ 0x0098 _IEC2bits = 0x98
+ 0x009a IEC3 = 0x9a
+ 0x009a _IEC3 = 0x9a
+ 0x009a _IEC3bits = 0x9a
+ 0x009c IEC4 = 0x9c
+ 0x009c _IEC4 = 0x9c
+ 0x009c _IEC4bits = 0x9c
+ 0x00a4 IPC0 = 0xa4
+ 0x00a4 _IPC0 = 0xa4
+ 0x00a4 _IPC0bits = 0xa4
+ 0x00a6 IPC1 = 0xa6
+ 0x00a6 _IPC1 = 0xa6
+ 0x00a6 _IPC1bits = 0xa6
+ 0x00a8 IPC2 = 0xa8
+ 0x00a8 _IPC2 = 0xa8
+ 0x00a8 _IPC2bits = 0xa8
+ 0x00aa IPC3 = 0xaa
+ 0x00aa _IPC3 = 0xaa
+ 0x00aa _IPC3bits = 0xaa
+ 0x00ac IPC4 = 0xac
+ 0x00ac _IPC4 = 0xac
+ 0x00ac _IPC4bits = 0xac
+ 0x00ae IPC5 = 0xae
+ 0x00ae _IPC5 = 0xae
+ 0x00ae _IPC5bits = 0xae
+ 0x00b0 IPC6 = 0xb0
+ 0x00b0 _IPC6 = 0xb0
+ 0x00b0 _IPC6bits = 0xb0
+ 0x00b2 IPC7 = 0xb2
+ 0x00b2 _IPC7 = 0xb2
+ 0x00b2 _IPC7bits = 0xb2
+ 0x00b4 IPC8 = 0xb4
+ 0x00b4 _IPC8 = 0xb4
+ 0x00b4 _IPC8bits = 0xb4
+ 0x00b6 IPC9 = 0xb6
+ 0x00b6 _IPC9 = 0xb6
+ 0x00b6 _IPC9bits = 0xb6
+ 0x00b8 IPC10 = 0xb8
+ 0x00b8 _IPC10 = 0xb8
+ 0x00b8 _IPC10bits = 0xb8
+ 0x00ba IPC11 = 0xba
+ 0x00ba _IPC11 = 0xba
+ 0x00ba _IPC11bits = 0xba
+ 0x00bc IPC12 = 0xbc
+ 0x00bc _IPC12 = 0xbc
+ 0x00bc _IPC12bits = 0xbc
+ 0x00c2 IPC15 = 0xc2
+ 0x00c2 _IPC15 = 0xc2
+ 0x00c2 _IPC15bits = 0xc2
+ 0x00c4 IPC16 = 0xc4
+ 0x00c4 _IPC16 = 0xc4
+ 0x00c4 _IPC16bits = 0xc4
+ 0x00c8 IPC18 = 0xc8
+ 0x00c8 _IPC18 = 0xc8
+ 0x00c8 _IPC18bits = 0xc8
+ 0x0100 TMR1 = 0x100
+ 0x0100 _TMR1 = 0x100
+ 0x0102 PR1 = 0x102
+ 0x0102 _PR1 = 0x102
+ 0x0104 T1CON = 0x104
+ 0x0104 _T1CON = 0x104
+ 0x0104 _T1CONbits = 0x104
+ 0x0106 TMR2 = 0x106
+ 0x0106 _TMR2 = 0x106
+ 0x0108 TMR3HLD = 0x108
+ 0x0108 _TMR3HLD = 0x108
+ 0x010a TMR3 = 0x10a
+ 0x010a _TMR3 = 0x10a
+ 0x010c PR2 = 0x10c
+ 0x010c _PR2 = 0x10c
+ 0x010e PR3 = 0x10e
+ 0x010e _PR3 = 0x10e
+ 0x0110 T2CON = 0x110
+ 0x0110 _T2CON = 0x110
+ 0x0110 _T2CONbits = 0x110
+ 0x0112 T3CON = 0x112
+ 0x0112 _T3CON = 0x112
+ 0x0112 _T3CONbits = 0x112
+ 0x0114 TMR4 = 0x114
+ 0x0114 _TMR4 = 0x114
+ 0x0116 TMR5HLD = 0x116
+ 0x0116 _TMR5HLD = 0x116
+ 0x0118 TMR5 = 0x118
+ 0x0118 _TMR5 = 0x118
+ 0x011a PR4 = 0x11a
+ 0x011a _PR4 = 0x11a
+ 0x011c PR5 = 0x11c
+ 0x011c _PR5 = 0x11c
+ 0x011e T4CON = 0x11e
+ 0x011e _T4CON = 0x11e
+ 0x011e _T4CONbits = 0x11e
+ 0x0120 T5CON = 0x120
+ 0x0120 _T5CON = 0x120
+ 0x0120 _T5CONbits = 0x120
+ 0x0140 IC1BUF = 0x140
+ 0x0140 _IC1BUF = 0x140
+ 0x0142 IC1CON = 0x142
+ 0x0142 _IC1CON = 0x142
+ 0x0142 _IC1CONbits = 0x142
+ 0x0144 IC2BUF = 0x144
+ 0x0144 _IC2BUF = 0x144
+ 0x0146 IC2CON = 0x146
+ 0x0146 _IC2CON = 0x146
+ 0x0146 _IC2CONbits = 0x146
+ 0x0148 IC3BUF = 0x148
+ 0x0148 _IC3BUF = 0x148
+ 0x014a IC3CON = 0x14a
+ 0x014a _IC3CON = 0x14a
+ 0x014a _IC3CONbits = 0x14a
+ 0x014c IC4BUF = 0x14c
+ 0x014c _IC4BUF = 0x14c
+ 0x014e IC4CON = 0x14e
+ 0x014e _IC4CON = 0x14e
+ 0x014e _IC4CONbits = 0x14e
+ 0x0150 IC5BUF = 0x150
+ 0x0150 _IC5BUF = 0x150
+ 0x0152 IC5CON = 0x152
+ 0x0152 _IC5CON = 0x152
+ 0x0152 _IC5CONbits = 0x152
+ 0x0180 OC1RS = 0x180
+ 0x0180 _OC1RS = 0x180
+ 0x0182 OC1R = 0x182
+ 0x0182 _OC1R = 0x182
+ 0x0184 OC1CON = 0x184
+ 0x0184 _OC1CON = 0x184
+ 0x0184 _OC1CONbits = 0x184
+ 0x0186 OC2RS = 0x186
+ 0x0186 _OC2RS = 0x186
+ 0x0188 OC2R = 0x188
+ 0x0188 _OC2R = 0x188
+ 0x018a OC2CON = 0x18a
+ 0x018a _OC2CON = 0x18a
+ 0x018a _OC2CONbits = 0x18a
+ 0x018c OC3RS = 0x18c
+ 0x018c _OC3RS = 0x18c
+ 0x018e OC3R = 0x18e
+ 0x018e _OC3R = 0x18e
+ 0x0190 OC3CON = 0x190
+ 0x0190 _OC3CON = 0x190
+ 0x0190 _OC3CONbits = 0x190
+ 0x0192 OC4RS = 0x192
+ 0x0192 _OC4RS = 0x192
+ 0x0194 OC4R = 0x194
+ 0x0194 _OC4R = 0x194
+ 0x0196 OC4CON = 0x196
+ 0x0196 _OC4CON = 0x196
+ 0x0196 _OC4CONbits = 0x196
+ 0x0198 OC5RS = 0x198
+ 0x0198 _OC5RS = 0x198
+ 0x019a OC5R = 0x19a
+ 0x019a _OC5R = 0x19a
+ 0x019c OC5CON = 0x19c
+ 0x019c _OC5CON = 0x19c
+ 0x019c _OC5CONbits = 0x19c
+ 0x0200 I2C1RCV = 0x200
+ 0x0200 _I2C1RCV = 0x200
+ 0x0202 I2C1TRN = 0x202
+ 0x0202 _I2C1TRN = 0x202
+ 0x0204 I2C1BRG = 0x204
+ 0x0204 _I2C1BRG = 0x204
+ 0x0206 I2C1CON = 0x206
+ 0x0206 _I2C1CON = 0x206
+ 0x0206 _I2C1CONbits = 0x206
+ 0x0208 I2C1STAT = 0x208
+ 0x0208 _I2C1STAT = 0x208
+ 0x0208 _I2C1STATbits = 0x208
+ 0x020a I2C1ADD = 0x20a
+ 0x020a _I2C1ADD = 0x20a
+ 0x020c I2C1MSK = 0x20c
+ 0x020c _I2C1MSK = 0x20c
+ 0x0210 I2C2RCV = 0x210
+ 0x0210 _I2C2RCV = 0x210
+ 0x0212 I2C2TRN = 0x212
+ 0x0212 _I2C2TRN = 0x212
+ 0x0214 I2C2BRG = 0x214
+ 0x0214 _I2C2BRG = 0x214
+ 0x0216 I2C2CON = 0x216
+ 0x0216 _I2C2CON = 0x216
+ 0x0216 _I2C2CONbits = 0x216
+ 0x0218 I2C2STAT = 0x218
+ 0x0218 _I2C2STAT = 0x218
+ 0x0218 _I2C2STATbits = 0x218
+ 0x021a I2C2ADD = 0x21a
+ 0x021a _I2C2ADD = 0x21a
+ 0x021c I2C2MSK = 0x21c
+ 0x021c _I2C2MSK = 0x21c
+ 0x0220 U1MODE = 0x220
+ 0x0220 _U1MODE = 0x220
+ 0x0220 _U1MODEbits = 0x220
+ 0x0222 U1STA = 0x222
+ 0x0222 _U1STA = 0x222
+ 0x0222 _U1STAbits = 0x222
+ 0x0224 U1TXREG = 0x224
+ 0x0224 _U1TXREG = 0x224
+ 0x0226 U1RXREG = 0x226
+ 0x0226 _U1RXREG = 0x226
+ 0x0228 U1BRG = 0x228
+ 0x0228 _U1BRG = 0x228
+ 0x0230 U2MODE = 0x230
+ 0x0230 _U2MODE = 0x230
+ 0x0230 _U2MODEbits = 0x230
+ 0x0232 U2STA = 0x232
+ 0x0232 _U2STA = 0x232
+ 0x0232 _U2STAbits = 0x232
+ 0x0234 U2TXREG = 0x234
+ 0x0234 _U2TXREG = 0x234
+ 0x0236 U2RXREG = 0x236
+ 0x0236 _U2RXREG = 0x236
+ 0x0238 U2BRG = 0x238
+ 0x0238 _U2BRG = 0x238
+ 0x0240 SPI1STAT = 0x240
+ 0x0240 _SPI1STAT = 0x240
+ 0x0240 _SPI1STATbits = 0x240
+ 0x0242 SPI1CON1 = 0x242
+ 0x0242 _SPI1CON1 = 0x242
+ 0x0242 _SPI1CON1bits = 0x242
+ 0x0244 SPI1CON2 = 0x244
+ 0x0244 _SPI1CON2 = 0x244
+ 0x0244 _SPI1CON2bits = 0x244
+ 0x0248 SPI1BUF = 0x248
+ 0x0248 _SPI1BUF = 0x248
+ 0x0260 SPI2STAT = 0x260
+ 0x0260 _SPI2STAT = 0x260
+ 0x0260 _SPI2STATbits = 0x260
+ 0x0262 SPI2CON1 = 0x262
+ 0x0262 _SPI2CON1 = 0x262
+ 0x0262 _SPI2CON1bits = 0x262
+ 0x0264 SPI2CON2 = 0x264
+ 0x0264 _SPI2CON2 = 0x264
+ 0x0264 _SPI2CON2bits = 0x264
+ 0x0268 SPI2BUF = 0x268
+ 0x0268 _SPI2BUF = 0x268
+ 0x02c0 TRISA = 0x2c0
+ 0x02c0 _TRISA = 0x2c0
+ 0x02c0 _TRISAbits = 0x2c0
+ 0x02c2 PORTA = 0x2c2
+ 0x02c2 _PORTA = 0x2c2
+ 0x02c2 _PORTAbits = 0x2c2
+ 0x02c4 LATA = 0x2c4
+ 0x02c4 _LATA = 0x2c4
+ 0x02c4 _LATAbits = 0x2c4
+ 0x02c6 ODCA = 0x2c6
+ 0x02c6 _ODCA = 0x2c6
+ 0x02c6 _ODCAbits = 0x2c6
+ 0x02c8 TRISB = 0x2c8
+ 0x02c8 _TRISB = 0x2c8
+ 0x02c8 _TRISBbits = 0x2c8
+ 0x02ca PORTB = 0x2ca
+ 0x02ca _PORTB = 0x2ca
+ 0x02ca _PORTBbits = 0x2ca
+ 0x02cc LATB = 0x2cc
+ 0x02cc _LATB = 0x2cc
+ 0x02cc _LATBbits = 0x2cc
+ 0x02ce ODCB = 0x2ce
+ 0x02ce _ODCB = 0x2ce
+ 0x02ce _ODCBbits = 0x2ce
+ 0x02fc PADCFG1 = 0x2fc
+ 0x02fc _PADCFG1 = 0x2fc
+ 0x02fc _PADCFG1bits = 0x2fc
+ 0x0300 ADC1BUF0 = 0x300
+ 0x0300 _ADC1BUF0 = 0x300
+ 0x0302 ADC1BUF1 = 0x302
+ 0x0302 _ADC1BUF1 = 0x302
+ 0x0304 ADC1BUF2 = 0x304
+ 0x0304 _ADC1BUF2 = 0x304
+ 0x0306 ADC1BUF3 = 0x306
+ 0x0306 _ADC1BUF3 = 0x306
+ 0x0308 ADC1BUF4 = 0x308
+ 0x0308 _ADC1BUF4 = 0x308
+ 0x030a ADC1BUF5 = 0x30a
+ 0x030a _ADC1BUF5 = 0x30a
+ 0x030c ADC1BUF6 = 0x30c
+ 0x030c _ADC1BUF6 = 0x30c
+ 0x030e ADC1BUF7 = 0x30e
+ 0x030e _ADC1BUF7 = 0x30e
+ 0x0310 ADC1BUF8 = 0x310
+ 0x0310 _ADC1BUF8 = 0x310
+ 0x0312 ADC1BUF9 = 0x312
+ 0x0312 _ADC1BUF9 = 0x312
+ 0x0314 ADC1BUFA = 0x314
+ 0x0314 _ADC1BUFA = 0x314
+ 0x0316 ADC1BUFB = 0x316
+ 0x0316 _ADC1BUFB = 0x316
+ 0x0318 ADC1BUFC = 0x318
+ 0x0318 _ADC1BUFC = 0x318
+ 0x031a ADC1BUFD = 0x31a
+ 0x031a _ADC1BUFD = 0x31a
+ 0x031c ADC1BUFE = 0x31c
+ 0x031c _ADC1BUFE = 0x31c
+ 0x031e ADC1BUFF = 0x31e
+ 0x031e _ADC1BUFF = 0x31e
+ 0x0320 AD1CON1 = 0x320
+ 0x0320 _AD1CON1 = 0x320
+ 0x0320 _AD1CON1bits = 0x320
+ 0x0322 AD1CON2 = 0x322
+ 0x0322 _AD1CON2 = 0x322
+ 0x0322 _AD1CON2bits = 0x322
+ 0x0324 AD1CON3 = 0x324
+ 0x0324 _AD1CON3 = 0x324
+ 0x0324 _AD1CON3bits = 0x324
+ 0x0328 AD1CHS = 0x328
+ 0x0328 _AD1CHS = 0x328
+ 0x0328 _AD1CHSbits = 0x328
+ 0x032c AD1PCFG = 0x32c
+ 0x032c _AD1PCFG = 0x32c
+ 0x032c _AD1PCFGbits = 0x32c
+ 0x0330 AD1CSSL = 0x330
+ 0x0330 _AD1CSSL = 0x330
+ 0x0330 _AD1CSSLbits = 0x330
+ 0x0600 PMCON = 0x600
+ 0x0600 _PMCON = 0x600
+ 0x0600 _PMCONbits = 0x600
+ 0x0602 PMMODE = 0x602
+ 0x0602 _PMMODE = 0x602
+ 0x0602 _PMMODEbits = 0x602
+ 0x0604 PMADDR = 0x604
+ 0x0604 _PMADDR = 0x604
+ 0x0604 _PMADDRbits = 0x604
+ 0x0604 PMDOUT1 = 0x604
+ 0x0604 _PMDOUT1 = 0x604
+ 0x0604 _PMDOUT1bits = 0x604
+ 0x0606 PMDOUT2 = 0x606
+ 0x0606 _PMDOUT2 = 0x606
+ 0x0608 PMDIN1 = 0x608
+ 0x0608 _PMDIN1 = 0x608
+ 0x060a PMDIN2 = 0x60a
+ 0x060a _PMDIN2 = 0x60a
+ 0x060c PMAEN = 0x60c
+ 0x060c _PMAEN = 0x60c
+ 0x060c _PMAENbits = 0x60c
+ 0x060e PMSTAT = 0x60e
+ 0x060e _PMSTAT = 0x60e
+ 0x060e _PMSTATbits = 0x60e
+ 0x0620 ALRMVAL = 0x620
+ 0x0620 _ALRMVAL = 0x620
+ 0x0622 ALCFGRPT = 0x622
+ 0x0622 _ALCFGRPT = 0x622
+ 0x0622 _ALCFGRPTbits = 0x622
+ 0x0624 RTCVAL = 0x624
+ 0x0624 _RTCVAL = 0x624
+ 0x0626 RCFGCAL = 0x626
+ 0x0626 _RCFGCAL = 0x626
+ 0x0626 _RCFGCALbits = 0x626
+ 0x0630 CMCON = 0x630
+ 0x0630 _CMCON = 0x630
+ 0x0630 _CMCONbits = 0x630
+ 0x0632 CVRCON = 0x632
+ 0x0632 _CVRCON = 0x632
+ 0x0632 _CVRCONbits = 0x632
+ 0x0640 CRCCON = 0x640
+ 0x0640 _CRCCON = 0x640
+ 0x0640 _CRCCONbits = 0x640
+ 0x0642 CRCXOR = 0x642
+ 0x0642 _CRCXOR = 0x642
+ 0x0642 _CRCXORbits = 0x642
+ 0x0644 CRCDAT = 0x644
+ 0x0644 _CRCDAT = 0x644
+ 0x0646 CRCWDAT = 0x646
+ 0x0646 _CRCWDAT = 0x646
+ 0x0680 RPINR0 = 0x680
+ 0x0680 _RPINR0 = 0x680
+ 0x0680 _RPINR0bits = 0x680
+ 0x0682 RPINR1 = 0x682
+ 0x0682 _RPINR1 = 0x682
+ 0x0682 _RPINR1bits = 0x682
+ 0x0686 RPINR3 = 0x686
+ 0x0686 _RPINR3 = 0x686
+ 0x0686 _RPINR3bits = 0x686
+ 0x0688 RPINR4 = 0x688
+ 0x0688 _RPINR4 = 0x688
+ 0x0688 _RPINR4bits = 0x688
+ 0x068e RPINR7 = 0x68e
+ 0x068e _RPINR7 = 0x68e
+ 0x068e _RPINR7bits = 0x68e
+ 0x0690 RPINR8 = 0x690
+ 0x0690 _RPINR8 = 0x690
+ 0x0690 _RPINR8bits = 0x690
+ 0x0692 RPINR9 = 0x692
+ 0x0692 _RPINR9 = 0x692
+ 0x0692 _RPINR9bits = 0x692
+ 0x0696 RPINR11 = 0x696
+ 0x0696 _RPINR11 = 0x696
+ 0x0696 _RPINR11bits = 0x696
+ 0x06a4 RPINR18 = 0x6a4
+ 0x06a4 _RPINR18 = 0x6a4
+ 0x06a4 _RPINR18bits = 0x6a4
+ 0x06a6 RPINR19 = 0x6a6
+ 0x06a6 _RPINR19 = 0x6a6
+ 0x06a6 _RPINR19bits = 0x6a6
+ 0x06a8 RPINR20 = 0x6a8
+ 0x06a8 _RPINR20 = 0x6a8
+ 0x06a8 _RPINR20bits = 0x6a8
+ 0x06aa RPINR21 = 0x6aa
+ 0x06aa _RPINR21 = 0x6aa
+ 0x06aa _RPINR21bits = 0x6aa
+ 0x06ac RPINR22 = 0x6ac
+ 0x06ac _RPINR22 = 0x6ac
+ 0x06ac _RPINR22bits = 0x6ac
+ 0x06ae RPINR23 = 0x6ae
+ 0x06ae _RPINR23 = 0x6ae
+ 0x06ae _RPINR23bits = 0x6ae
+ 0x06c0 RPOR0 = 0x6c0
+ 0x06c0 _RPOR0 = 0x6c0
+ 0x06c0 _RPOR0bits = 0x6c0
+ 0x06c2 RPOR1 = 0x6c2
+ 0x06c2 _RPOR1 = 0x6c2
+ 0x06c2 _RPOR1bits = 0x6c2
+ 0x06c4 RPOR2 = 0x6c4
+ 0x06c4 _RPOR2 = 0x6c4
+ 0x06c4 _RPOR2bits = 0x6c4
+ 0x06c6 RPOR3 = 0x6c6
+ 0x06c6 _RPOR3 = 0x6c6
+ 0x06c6 _RPOR3bits = 0x6c6
+ 0x06c8 RPOR4 = 0x6c8
+ 0x06c8 _RPOR4 = 0x6c8
+ 0x06c8 _RPOR4bits = 0x6c8
+ 0x06ca RPOR5 = 0x6ca
+ 0x06ca _RPOR5 = 0x6ca
+ 0x06ca _RPOR5bits = 0x6ca
+ 0x06cc RPOR6 = 0x6cc
+ 0x06cc _RPOR6 = 0x6cc
+ 0x06cc _RPOR6bits = 0x6cc
+ 0x06ce RPOR7 = 0x6ce
+ 0x06ce _RPOR7 = 0x6ce
+ 0x06ce _RPOR7bits = 0x6ce
+ 0x0740 RCON = 0x740
+ 0x0740 _RCON = 0x740
+ 0x0740 _RCONbits = 0x740
+ 0x0742 OSCCON = 0x742
+ 0x0742 _OSCCON = 0x742
+ 0x0742 _OSCCONbits = 0x742
+ 0x0742 OSCCONL = 0x742
+ 0x0742 _OSCCONL = 0x742
+ 0x0743 OSCCONH = 0x743
+ 0x0743 _OSCCONH = 0x743
+ 0x0744 CLKDIV = 0x744
+ 0x0744 _CLKDIV = 0x744
+ 0x0744 _CLKDIVbits = 0x744
+ 0x0748 OSCTUN = 0x748
+ 0x0748 _OSCTUN = 0x748
+ 0x0748 _OSCTUNbits = 0x748
+ 0x0760 NVMCON = 0x760
+ 0x0760 _NVMCON = 0x760
+ 0x0760 _NVMCONbits = 0x760
+ 0x0766 NVMKEY = 0x766
+ 0x0766 _NVMKEY = 0x766
+ 0x0770 PMD1 = 0x770
+ 0x0770 _PMD1 = 0x770
+ 0x0770 _PMD1bits = 0x770
+ 0x0772 PMD2 = 0x772
+ 0x0772 _PMD2 = 0x772
+ 0x0772 _PMD2bits = 0x772
+ 0x0774 PMD3 = 0x774
+ 0x0774 _PMD3 = 0x774
+ 0x0774 _PMD3bits = 0x774
+ 0x0140 IC1 = 0x140
+ 0x0140 _IC1 = 0x140
+ 0x0144 IC2 = 0x144
+ 0x0144 _IC2 = 0x144
+ 0x0148 IC3 = 0x148
+ 0x0148 _IC3 = 0x148
+ 0x014c IC4 = 0x14c
+ 0x014c _IC4 = 0x14c
+ 0x0150 IC5 = 0x150
+ 0x0150 _IC5 = 0x150
+ 0x0180 OC1 = 0x180
+ 0x0180 _OC1 = 0x180
+ 0x0186 OC2 = 0x186
+ 0x0186 _OC2 = 0x186
+ 0x018c OC3 = 0x18c
+ 0x018c _OC3 = 0x18c
+ 0x0192 OC4 = 0x192
+ 0x0192 _OC4 = 0x192
+ 0x0198 OC5 = 0x198
+ 0x0198 _OC5 = 0x198
+ 0x0240 SPI1 = 0x240
+ 0x0240 _SPI1 = 0x240
+ 0x0260 SPI2 = 0x260
+ 0x0260 _SPI2 = 0x260
+ 0x0220 UART1 = 0x220
+ 0x0220 _UART1 = 0x220
+ 0x0230 UART2 = 0x230
+ 0x0230 _UART2 = 0x230
+START GROUP
+LOAD c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a
+LOAD c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a
+LOAD c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a
+END GROUP
+OUTPUT(dist/default/production/EE3102Testing.X.production.elf elf32-pic30)
+LOAD jump_table
+LOAD default_isr
+LOAD data_init
+
+.debug_pubtypes
+ 0x000060 0x1b1
+ .debug_pubtypes
+ 0x000060 0x12 build/default/production/spies046_lab6_buffer_v001.o
+ .debug_pubtypes
+ 0x000072 0x5f build/default/production/spies046_lab6_lcdLib_v001.o
+ .debug_pubtypes
+ 0x0000d1 0x140 build/default/production/spies046_lab6_main_v001.o
+
+__c30_signature
+ 0x000211 0x114
+ __c30_signature
+ 0x000211 0x6 build/default/production/spies046_lab6_buffer_v001.o
+ __c30_signature
+ 0x000217 0x6 build/default/production/spies046_lab6_lcdLib_v001.o
+ __c30_signature
+ 0x00021d 0x6 build/default/production/spies046_lab6_main_v001.o
+ __c30_signature
+ 0x000223 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(crt0_standard.o)
+ __c30_signature
+ 0x000229 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-pic30-elf.a(data_init_standard.o)
+ __c30_signature
+ 0x00022f 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsisf.eo)
+ __c30_signature
+ 0x000235 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsf3.eo)
+ __c30_signature
+ 0x00023b 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(udivsi3.eo)
+ __c30_signature
+ 0x000241 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdisf.eo)
+ __c30_signature
+ 0x000247 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundisf.eo)
+ __c30_signature
+ 0x00024d 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fpack.eo)
+ __c30_signature
+ 0x000253 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack2.eo)
+ __c30_signature
+ 0x000259 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(futil.eo)
+ __c30_signature
+ 0x00025f 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(funpack.eo)
+ __c30_signature
+ 0x000265 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(sprintf_fF.XXeo)
+ __c30_signature
+ 0x00026b 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo)
+ __c30_signature
+ 0x000271 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(memcpy.XX_eo)
+ __c30_signature
+ 0x000277 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(strchr.XX_eo)
+ __c30_signature
+ 0x00027d 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputtxt.XX_eo)
+ __c30_signature
+ 0x000283 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xvacopy.XX_eo)
+ __c30_signature
+ 0x000289 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xputfld_fF.XXeo)
+ __c30_signature
+ 0x00028f 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo)
+ __c30_signature
+ 0x000295 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xgenld_fF.XXeo)
+ __c30_signature
+ 0x00029b 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(div.XX_eo)
+ __c30_signature
+ 0x0002a1 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(ldiv.XX_eo)
+ __c30_signature
+ 0x0002a7 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldunsca.XX_eo)
+ __c30_signature
+ 0x0002ad 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xdnorm.XX_elo)
+ __c30_signature
+ 0x0002b3 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(deqltle.eo)
+ __c30_signature
+ 0x0002b9 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dgtge.eo)
+ __c30_signature
+ 0x0002bf 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divdf3.eo)
+ __c30_signature
+ 0x0002c5 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(divsi3.eo)
+ __c30_signature
+ 0x0002cb 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpack.eo)
+ __c30_signature
+ 0x0002d1 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack2.eo)
+ __c30_signature
+ 0x0002d7 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(extendsfdf.eo)
+ __c30_signature
+ 0x0002dd 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(fixdfsi.eo)
+ __c30_signature
+ 0x0002e3 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatsidf.eo)
+ __c30_signature
+ 0x0002e9 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(muldf3.eo)
+ __c30_signature
+ 0x0002ef 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(subdf3.eo)
+ __c30_signature
+ 0x0002f5 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(mulsi3.eo)
+ __c30_signature
+ 0x0002fb 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(adddf3.eo)
+ __c30_signature
+ 0x000301 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dcompare.eo)
+ __c30_signature
+ 0x000307 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dpropagateNaN.eo)
+ __c30_signature
+ 0x00030d 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dtype.eo)
+ __c30_signature
+ 0x000313 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(dunpack.eo)
+ __c30_signature
+ 0x000319 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatdidf.eo)
+ __c30_signature
+ 0x00031f 0x6 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\libm-elf.a(floatundidf.eo)
+
+.nbss 0x0800 0x4
+ .nbss 0x0800 0x4 build/default/production/spies046_lab6_buffer_v001.o
+ 0x0800 _write
+ 0x0802 _numE
+
+.ndata 0x0804 0x2
+ .ndata 0x0804 0x2 build/default/production/spies046_lab6_lcdLib_v001.o
+ 0x0804 _con1
+ 0x0805 _con2
+
+.nbss 0x0806 0x4
+ .nbss 0x0806 0x2 build/default/production/spies046_lab6_lcdLib_v001.o
+ 0x0806 _strLength
+ .nbss 0x0808 0x2 build/default/production/spies046_lab6_main_v001.o
+ 0x0808 _adValue
+
+.data 0x080a 0x58
+ .data 0x080a 0x58 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xldtob_fF.XXeo)
+
+.bss 0x0862 0x40
+ .bss 0x0862 0x40 build/default/production/spies046_lab6_buffer_v001.o
+ 0x0862 _buffer
+
+.data 0x08a2 0x1c
+ .data 0x08a2 0x1a c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xprintf_fF.XXeo)
+ .data 0x08bc 0x2 c:/program files (x86)/microchip/xc16/v1.41/bin/bin/../../lib\liblega-c-elf.a(xgenld_fF.XXeo)
+
+.config_JTAGEN 0x00abfe 0x2
+ .config_JTAGEN
+ 0x00abfe 0x2 build/default/production/spies046_lab6_main_v001.o
+
+.config_IESO 0x00abfc 0x2
+ .config_IESO 0x00abfc 0x2 build/default/production/spies046_lab6_main_v001.o
+
+.ivt._ADC1Interrupt
+ 0x00002e 0x2
+ .ivt._ADC1Interrupt
+ 0x00002e 0x2 build/default/production/spies046_lab6_main_v001.o
+
+.ivt._T2Interrupt
+ 0x000022 0x2
+ .ivt._T2Interrupt
+ 0x000022 0x2 build/default/production/spies046_lab6_main_v001.o
+
+.const 0x938a 0x8 load address 0x00138a
+ .const 0x938a 0x8 build/default/production/spies046_lab6_main_v001.o
+
+.text 0x001392 0x310
+ .text 0x001392 0x1dc build/default/production/spies046_lab6_lcdLib_v001.o
+ 0x001392 _delay
+ 0x0013ac _contrastMask
+ 0x0013cc _lcd_cmd
+ 0x00141c _lcd_init
+ 0x001456 _lcd_setCursor
+ 0x00146e _lcd_printChar
+ 0x0014c0 _lcd_printStr
+ 0x001534 _lcd_ShiftL
+ 0x001548 _findLength
+ .text 0x00156e 0xa2 build/default/production/spies046_lab6_main_v001.o
+ 0x00156e _setup
+ 0x0015e4 _main
+ .text 0x001610 0x92 build/default/production/spies046_lab6_buffer_v001.o
+ 0x001610 _putVal
+ 0x001648 _getAvg
+ 0x001682 _initBuffer
+
+.dinit 0x0016a2 0x84
+ .dinit 0x0016a2 0x84 data_init
+
+.text 0x001726 0xe
+ .text 0x001726 0xe build/default/production/spies046_lab6_asm_v001.o
+ 0x001726 _mbs_wait_100us
+ 0x00172e _mbs_wait_1ms
diff --git a/EE3102Testing.X/dist/default/production/memoryfile.xml b/EE3102Testing.X/dist/default/production/memoryfile.xml
new file mode 100644
index 0000000..a7c3734
--- /dev/null
+++ b/EE3102Testing.X/dist/default/production/memoryfile.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+ <executable name="dist/default/production/EE3102Testing.X.production.elf">
+ <memory name="data">
+ <units>bytes</units>
+ <length>8192</length>
+ <used>190</used>
+ <free>8002</free>
+ </memory>
+ <memory name="program">
+ <units>bytes</units>
+ <length>65274</length>
+ <used>8142</used>
+ <free>57132</free>
+ </memory>
+ </executable>
+</project>
diff --git a/EE3102Testing.X/nbproject/Makefile-default.mk b/EE3102Testing.X/nbproject/Makefile-default.mk
new file mode 100644
index 0000000..75006f0
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Makefile-default.mk
@@ -0,0 +1,203 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Include project Makefile
+ifeq "${IGNORE_LOCAL}" "TRUE"
+# do not include local makefile. User is passing all local related variables already
+else
+include Makefile
+# Include makefile containing local settings
+ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk"
+include nbproject/Makefile-local-default.mk
+endif
+endif
+
+# Environment
+MKDIR=gnumkdir -p
+RM=rm -f
+MV=mv
+CP=cp
+
+# Macros
+CND_CONF=default
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+IMAGE_TYPE=debug
+OUTPUT_SUFFIX=elf
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+else
+IMAGE_TYPE=production
+OUTPUT_SUFFIX=hex
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+endif
+
+ifeq ($(COMPARE_BUILD), true)
+COMPARISON_BUILD=-mafrlcsj
+else
+COMPARISON_BUILD=
+endif
+
+ifdef SUB_IMAGE_ADDRESS
+SUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)
+else
+SUB_IMAGE_ADDRESS_COMMAND=
+endif
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
+
+# Distribution Directory
+DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
+
+# Source Files Quoted if spaced
+SOURCEFILES_QUOTED_IF_SPACED=spies046_lab6_asm_v001.s spies046_lab6_buffer_v001.c spies046_lab6_lcdLib_v001.c spies046_lab6_main_v001.c
+
+# Object Files Quoted if spaced
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/spies046_lab6_asm_v001.o ${OBJECTDIR}/spies046_lab6_buffer_v001.o ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o ${OBJECTDIR}/spies046_lab6_main_v001.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/spies046_lab6_asm_v001.o.d ${OBJECTDIR}/spies046_lab6_buffer_v001.o.d ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d ${OBJECTDIR}/spies046_lab6_main_v001.o.d
+
+# Object Files
+OBJECTFILES=${OBJECTDIR}/spies046_lab6_asm_v001.o ${OBJECTDIR}/spies046_lab6_buffer_v001.o ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o ${OBJECTDIR}/spies046_lab6_main_v001.o
+
+# Source Files
+SOURCEFILES=spies046_lab6_asm_v001.s spies046_lab6_buffer_v001.c spies046_lab6_lcdLib_v001.c spies046_lab6_main_v001.c
+
+
+
+CFLAGS=
+ASFLAGS=
+LDLIBSOPTIONS=
+
+############# Tool locations ##########################################
+# If you copy a project from one host to another, the path where the #
+# compiler is installed may be different. #
+# If you open this project with MPLAB X in the new host, this #
+# makefile will be regenerated and the paths will be corrected. #
+#######################################################################
+# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
+FIXDEPS=fixDeps
+
+.build-conf: ${BUILD_SUBPROJECTS}
+ifneq ($(INFORMATION_MESSAGE), )
+ @echo $(INFORMATION_MESSAGE)
+endif
+ ${MAKE} -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+
+MP_PROCESSOR_OPTION=24FJ64GA002
+MP_LINKER_FILE_OPTION=,--script=p24FJ64GA002.gld
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compile
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/spies046_lab6_buffer_v001.o: spies046_lab6_buffer_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_buffer_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_buffer_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_buffer_v001.c -o ${OBJECTDIR}/spies046_lab6_buffer_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_buffer_v001.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_buffer_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+${OBJECTDIR}/spies046_lab6_lcdLib_v001.o: spies046_lab6_lcdLib_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_lcdLib_v001.c -o ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+${OBJECTDIR}/spies046_lab6_main_v001.o: spies046_lab6_main_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_main_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_main_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_main_v001.c -o ${OBJECTDIR}/spies046_lab6_main_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_main_v001.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_main_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+else
+${OBJECTDIR}/spies046_lab6_buffer_v001.o: spies046_lab6_buffer_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_buffer_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_buffer_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_buffer_v001.c -o ${OBJECTDIR}/spies046_lab6_buffer_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_buffer_v001.o.d" -g -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_buffer_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+${OBJECTDIR}/spies046_lab6_lcdLib_v001.o: spies046_lab6_lcdLib_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_lcdLib_v001.c -o ${OBJECTDIR}/spies046_lab6_lcdLib_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d" -g -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_lcdLib_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+${OBJECTDIR}/spies046_lab6_main_v001.o: spies046_lab6_main_v001.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_main_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_main_v001.o
+ ${MP_CC} $(MP_EXTRA_CC_PRE) spies046_lab6_main_v001.c -o ${OBJECTDIR}/spies046_lab6_main_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/spies046_lab6_main_v001.o.d" -g -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_main_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemble
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/spies046_lab6_asm_v001.o: spies046_lab6_asm_v001.s nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_asm_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_asm_v001.o
+ ${MP_CC} $(MP_EXTRA_AS_PRE) spies046_lab6_asm_v001.s -o ${OBJECTDIR}/spies046_lab6_asm_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/spies046_lab6_asm_v001.o.d",--defsym=__MPLAB_BUILD=1,--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_PK3=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_asm_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+else
+${OBJECTDIR}/spies046_lab6_asm_v001.o: spies046_lab6_asm_v001.s nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} "${OBJECTDIR}"
+ @${RM} ${OBJECTDIR}/spies046_lab6_asm_v001.o.d
+ @${RM} ${OBJECTDIR}/spies046_lab6_asm_v001.o
+ ${MP_CC} $(MP_EXTRA_AS_PRE) spies046_lab6_asm_v001.s -o ${OBJECTDIR}/spies046_lab6_asm_v001.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/spies046_lab6_asm_v001.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16
+ @${FIXDEPS} "${OBJECTDIR}/spies046_lab6_asm_v001.o.d" $(SILENT) -rsi ${MP_CC_DIR}../
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemblePreproc
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: link
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) -mdfp=${DFP_DIR}/xc16
+
+else
+dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map",--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) -mdfp=${DFP_DIR}/xc16
+ ${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a -omf=elf -mdfp=${DFP_DIR}/xc16
+
+endif
+
+
+# Subprojects
+.build-subprojects:
+
+
+# Subprojects
+.clean-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/default
+ ${RM} -r dist/default
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
diff --git a/EE3102Testing.X/nbproject/Makefile-genesis.properties b/EE3102Testing.X/nbproject/Makefile-genesis.properties
new file mode 100644
index 0000000..0219967
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Makefile-genesis.properties
@@ -0,0 +1,10 @@
+#
+#Thu Mar 25 23:27:59 CDT 2021
+default.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.30\\packs\\Microchip\\PIC24F-GA-GB_DFP\\1.1.74
+default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=3de759bc6af06f5ee7453ec146192402
+default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc16\\v1.41\\bin
+configurations-xml=7dc7f8b68116d1403182a9d96cce1e9d
+com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76
+default.languagetoolchain.version=1.41
+host.platform=windows
+conf.ids=default
diff --git a/EE3102Testing.X/nbproject/Makefile-impl.mk b/EE3102Testing.X/nbproject/Makefile-impl.mk
new file mode 100644
index 0000000..b3c14e3
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Makefile-impl.mk
@@ -0,0 +1,69 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=EE3102Testing.X
+
+# Active Configuration
+DEFAULTCONF=default
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=default
+
+
+# build
+.build-impl: .build-pre
+ ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre
+ ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean
+
+
+
+# all
+.all-impl: .all-pre .depcheck-impl
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build
+
+
+
+# dependency checking support
+.depcheck-impl:
+# @echo "# This code depends on make tool being used" >.dep.inc
+# @if [ -n "${MAKE_VERSION}" ]; then \
+# echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+# echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+# echo "include \$${DEPFILES}" >>.dep.inc; \
+# echo "endif" >>.dep.inc; \
+# else \
+# echo ".KEEP_STATE:" >>.dep.inc; \
+# echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+# fi
diff --git a/EE3102Testing.X/nbproject/Makefile-local-default.mk b/EE3102Testing.X/nbproject/Makefile-local-default.mk
new file mode 100644
index 0000000..214e7fa
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Makefile-local-default.mk
@@ -0,0 +1,38 @@
+#
+# Generated Makefile - do not edit!
+#
+#
+# This file contains information about the location of compilers and other tools.
+# If you commmit this file into your revision control server, you will be able to
+# to checkout the project and build it from the command line with make. However,
+# if more than one person works on the same project, then this file might show
+# conflicts since different users are bound to have compilers in different places.
+# In that case you might choose to not commit this file and let MPLAB X recreate this file
+# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
+# least once so the file gets created and the project can be built. Finally, you can also
+# avoid using this file at all if you are only building from the command line with make.
+# You can invoke make with the values of the macros:
+# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
+#
+SHELL=cmd.exe
+PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/v5.30/mplab_platform/platform/../mplab_ide/modules/../../bin/
+# Adding MPLAB X bin directory to path.
+PATH:=C:/Program Files (x86)/Microchip/MPLABX/v5.30/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
+# Path to java used to run MPLAB X when this makefile was created
+MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\v5.30\sys\java\jre1.8.0_181/bin/"
+OS_CURRENT="$(shell uname -s)"
+MP_CC="C:\Program Files (x86)\Microchip\xc16\v1.41\bin\xc16-gcc.exe"
+# MP_CPPC is not defined
+# MP_BC is not defined
+MP_AS="C:\Program Files (x86)\Microchip\xc16\v1.41\bin\xc16-as.exe"
+MP_LD="C:\Program Files (x86)\Microchip\xc16\v1.41\bin\xc16-ld.exe"
+MP_AR="C:\Program Files (x86)\Microchip\xc16\v1.41\bin\xc16-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.30/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\Program Files (x86)\Microchip\xc16\v1.41\bin"
+# MP_CPPC_DIR is not defined
+# MP_BC_DIR is not defined
+MP_AS_DIR="C:\Program Files (x86)\Microchip\xc16\v1.41\bin"
+MP_LD_DIR="C:\Program Files (x86)\Microchip\xc16\v1.41\bin"
+MP_AR_DIR="C:\Program Files (x86)\Microchip\xc16\v1.41\bin"
+# MP_BC_DIR is not defined
+DFP_DIR="C:/Program Files (x86)/Microchip/MPLABX/v5.30/packs/Microchip/PIC24F-GA-GB_DFP/1.1.74"
diff --git a/EE3102Testing.X/nbproject/Makefile-variables.mk b/EE3102Testing.X/nbproject/Makefile-variables.mk
new file mode 100644
index 0000000..e4ed122
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Makefile-variables.mk
@@ -0,0 +1,13 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+# default configuration
+CND_ARTIFACT_DIR_default=dist/default/production
+CND_ARTIFACT_NAME_default=EE3102Testing.X.production.hex
+CND_ARTIFACT_PATH_default=dist/default/production/EE3102Testing.X.production.hex
+CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package
+CND_PACKAGE_NAME_default=ee3102testing.x.tar
+CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/ee3102testing.x.tar
diff --git a/EE3102Testing.X/nbproject/Package-default.bash b/EE3102Testing.X/nbproject/Package-default.bash
new file mode 100644
index 0000000..d59127d
--- /dev/null
+++ b/EE3102Testing.X/nbproject/Package-default.bash
@@ -0,0 +1,73 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_CONF=default
+CND_DISTDIR=dist
+TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+OUTPUT_BASENAME=EE3102Testing.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+PACKAGE_TOP_DIR=ee3102testing.x/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/package
+rm -rf ${TMPDIR}
+mkdir -p ${TMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory ${TMPDIR}/ee3102testing.x/bin
+copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/package/ee3102testing.x.tar
+cd ${TMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/ee3102testing.x.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${TMPDIR}
diff --git a/EE3102Testing.X/nbproject/configurations.xml b/EE3102Testing.X/nbproject/configurations.xml
new file mode 100644
index 0000000..7328534
--- /dev/null
+++ b/EE3102Testing.X/nbproject/configurations.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="65">
+ <logicalFolder name="root" displayName="root" projectFiles="true">
+ <logicalFolder name="HeaderFiles"
+ displayName="Header Files"
+ projectFiles="true">
+ <itemPath>spies046_lab6_asm_v001.h</itemPath>
+ <itemPath>spies046_lab6_buffer_v001.h</itemPath>
+ <itemPath>spies046_lab6_lcdLib_v001.h</itemPath>
+ </logicalFolder>
+ <logicalFolder name="LinkerScript"
+ displayName="Linker Files"
+ projectFiles="true">
+ </logicalFolder>
+ <logicalFolder name="SourceFiles"
+ displayName="Source Files"
+ projectFiles="true">
+ <itemPath>spies046_lab6_asm_v001.s</itemPath>
+ <itemPath>spies046_lab6_buffer_v001.c</itemPath>
+ <itemPath>spies046_lab6_lcdLib_v001.c</itemPath>
+ <itemPath>spies046_lab6_main_v001.c</itemPath>
+ </logicalFolder>
+ <logicalFolder name="ExternalFiles"
+ displayName="Important Files"
+ projectFiles="false">
+ <itemPath>Makefile</itemPath>
+ </logicalFolder>
+ </logicalFolder>
+ <sourceRootList>
+ <Elem>.</Elem>
+ </sourceRootList>
+ <projectmakefile>Makefile</projectmakefile>
+ <confs>
+ <conf name="default" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <targetDevice>PIC24FJ64GA002</targetDevice>
+ <targetHeader></targetHeader>
+ <targetPluginBoard></targetPluginBoard>
+ <platformTool>PK3OBPlatformTool</platformTool>
+ <languageToolchain>XC16</languageToolchain>
+ <languageToolchainVersion>1.41</languageToolchainVersion>
+ <platform>3</platform>
+ </toolsSet>
+ <packs>
+ <pack name="PIC24F-GA-GB_DFP" vendor="Microchip" version="1.1.74"/>
+ </packs>
+ <compileType>
+ <linkerTool>
+ <linkerLibItems>
+ </linkerLibItems>
+ </linkerTool>
+ <archiverTool>
+ </archiverTool>
+ <loading>
+ <useAlternateLoadableFile>false</useAlternateLoadableFile>
+ <parseOnProdLoad>false</parseOnProdLoad>
+ <alternateLoadableFile></alternateLoadableFile>
+ </loading>
+ <subordinates>
+ </subordinates>
+ </compileType>
+ <makeCustomizationType>
+ <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+ <makeCustomizationPreStep></makeCustomizationPreStep>
+ <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+ <makeCustomizationPostStep></makeCustomizationPostStep>
+ <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+ <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
+ <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
+ </makeCustomizationType>
+ <C30>
+ <property key="code-model" value="default"/>
+ <property key="const-model" value="default"/>
+ <property key="data-model" value="default"/>
+ <property key="disable-instruction-scheduling" value="false"/>
+ <property key="enable-all-warnings" value="true"/>
+ <property key="enable-ansi-std" value="false"/>
+ <property key="enable-ansi-warnings" value="false"/>
+ <property key="enable-fatal-warnings" value="false"/>
+ <property key="enable-large-arrays" value="false"/>
+ <property key="enable-omit-frame-pointer" value="false"/>
+ <property key="enable-procedural-abstraction" value="false"/>
+ <property key="enable-short-double" value="false"/>
+ <property key="enable-symbols" value="true"/>
+ <property key="enable-unroll-loops" value="false"/>
+ <property key="extra-include-directories" value=""/>
+ <property key="isolate-each-function" value="false"/>
+ <property key="keep-inline" value="false"/>
+ <property key="oXC16gcc-align-arr" value="false"/>
+ <property key="oXC16gcc-cnsts-mauxflash" value="false"/>
+ <property key="oXC16gcc-data-sects" value="false"/>
+ <property key="oXC16gcc-errata" value=""/>
+ <property key="oXC16gcc-fillupper" value=""/>
+ <property key="oXC16gcc-large-aggregate" value="false"/>
+ <property key="oXC16gcc-mauxflash" value="false"/>
+ <property key="oXC16gcc-mpa-lvl" value=""/>
+ <property key="oXC16gcc-name-text-sec" value=""/>
+ <property key="oXC16gcc-near-chars" value="false"/>
+ <property key="oXC16gcc-no-isr-warn" value="false"/>
+ <property key="oXC16gcc-sfr-warn" value="false"/>
+ <property key="oXC16gcc-smar-io-lvl" value="1"/>
+ <property key="oXC16gcc-smart-io-fmt" value=""/>
+ <property key="optimization-level" value="0"/>
+ <property key="post-instruction-scheduling" value="default"/>
+ <property key="pre-instruction-scheduling" value="default"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="scalar-model" value="default"/>
+ <property key="use-cci" value="false"/>
+ <property key="use-iar" value="false"/>
+ </C30>
+ <C30-AR>
+ <property key="additional-options-chop-files" value="false"/>
+ </C30-AR>
+ <C30-AS>
+ <property key="assembler-symbols" value=""/>
+ <property key="expand-macros" value="false"/>
+ <property key="extra-include-directories-for-assembler" value=""/>
+ <property key="extra-include-directories-for-preprocessor" value=""/>
+ <property key="false-conditionals" value="false"/>
+ <property key="keep-locals" value="false"/>
+ <property key="list-assembly" value="false"/>
+ <property key="list-section-info" value="false"/>
+ <property key="list-source" value="false"/>
+ <property key="list-symbols" value="false"/>
+ <property key="oXC16asm-extra-opts" value=""/>
+ <property key="oXC16asm-list-to-file" value="false"/>
+ <property key="omit-debug-dirs" value="false"/>
+ <property key="omit-forms" value="false"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="relax" value="false"/>
+ <property key="warning-level" value="emit-warnings"/>
+ </C30-AS>
+ <C30-CO>
+ <property key="coverage-enable" value=""/>
+ </C30-CO>
+ <C30-LD>
+ <property key="additional-options-use-response-files" value="false"/>
+ <property key="boot-eeprom" value="no_eeprom"/>
+ <property key="boot-flash" value="no_flash"/>
+ <property key="boot-ram" value="no_ram"/>
+ <property key="boot-write-protect" value="no_write_protect"/>
+ <property key="enable-check-sections" value="false"/>
+ <property key="enable-data-init" value="true"/>
+ <property key="enable-default-isr" value="true"/>
+ <property key="enable-handles" value="true"/>
+ <property key="enable-pack-data" value="true"/>
+ <property key="extra-lib-directories" value=""/>
+ <property key="fill-flash-options-addr" value=""/>
+ <property key="fill-flash-options-const" value=""/>
+ <property key="fill-flash-options-how" value="0"/>
+ <property key="fill-flash-options-inc-const" value="1"/>
+ <property key="fill-flash-options-increment" value=""/>
+ <property key="fill-flash-options-seq" value=""/>
+ <property key="fill-flash-options-what" value="0"/>
+ <property key="general-code-protect" value="no_code_protect"/>
+ <property key="general-write-protect" value="no_write_protect"/>
+ <property key="generate-cross-reference-file" value="false"/>
+ <property key="heap-size" value=""/>
+ <property key="input-libraries" value=""/>
+ <property key="linker-stack" value="true"/>
+ <property key="linker-symbols" value=""/>
+ <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+ <property key="no-ivt" value="false"/>
+ <property key="oXC16ld-extra-opts" value=""/>
+ <property key="oXC16ld-fill-upper" value="0"/>
+ <property key="oXC16ld-force-link" value="false"/>
+ <property key="oXC16ld-no-smart-io" value="false"/>
+ <property key="oXC16ld-nostdlib" value="false"/>
+ <property key="oXC16ld-stackguard" value="16"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="remove-unused-sections" value="false"/>
+ <property key="report-memory-usage" value="true"/>
+ <property key="secure-eeprom" value="no_eeprom"/>
+ <property key="secure-flash" value="no_flash"/>
+ <property key="secure-ram" value="no_ram"/>
+ <property key="secure-write-protect" value="no_write_protect"/>
+ <property key="stack-size" value="16"/>
+ <property key="symbol-stripping" value=""/>
+ <property key="trace-symbols" value=""/>
+ <property key="warn-section-align" value="false"/>
+ </C30-LD>
+ <C30Global>
+ <property key="common-include-directories" value=""/>
+ <property key="dual-boot-partition" value="0"/>
+ <property key="fast-math" value="false"/>
+ <property key="generic-16-bit" value="false"/>
+ <property key="legacy-libc" value="true"/>
+ <property key="mpreserve-all" value="false"/>
+ <property key="oXC16glb-macros" value=""/>
+ <property key="output-file-format" value="elf"/>
+ <property key="preserve-all" value="false"/>
+ <property key="preserve-file" value=""/>
+ <property key="relaxed-math" value="false"/>
+ <property key="save-temps" value="false"/>
+ </C30Global>
+ <PK3OBPlatformTool>
+ <property key="AutoSelectMemRanges" value="auto"/>
+ <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+ <property key="ToolFirmwareFilePath"
+ value="Press to browse for a specific firmware version"/>
+ <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+ <property key="firmware.download.all" value="false"/>
+ <property key="memories.bootflash" value="true"/>
+ <property key="memories.configurationmemory" value="true"/>
+ <property key="memories.dataflash" value="true"/>
+ <property key="memories.eeprom" value="true"/>
+ <property key="memories.id" value="true"/>
+ <property key="memories.programmemory" value="true"/>
+ <property key="memories.programmemory.ranges"
+ value="${memories.programmemory.ranges}"/>
+ <property key="memories.userotp" value="true"/>
+ <property key="poweroptions.powerenable" value="false"/>
+ <property key="programoptions.eraseb4program" value="true"/>
+ <property key="programoptions.preservedataflash" value="false"/>
+ <property key="programoptions.preservedataflash.ranges"
+ value="${programoptions.preservedataflash.ranges}"/>
+ <property key="programoptions.preserveeeprom" value="false"/>
+ <property key="programoptions.preserveeeprom.ranges"
+ value="${programoptions.preserveeeprom.ranges}"/>
+ <property key="programoptions.preserveprogram.ranges" value=""/>
+ <property key="programoptions.preserveprogramrange" value="false"/>
+ <property key="programoptions.usehighvoltageonmclr" value="false"/>
+ <property key="programoptions.uselvpprogramming" value="false"/>
+ <property key="voltagevalue" value="3.25"/>
+ </PK3OBPlatformTool>
+ </conf>
+ </confs>
+</configurationDescriptor>
diff --git a/EE3102Testing.X/nbproject/private/configurations.xml b/EE3102Testing.X/nbproject/private/configurations.xml
new file mode 100644
index 0000000..3027230
--- /dev/null
+++ b/EE3102Testing.X/nbproject/private/configurations.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="65">
+ <projectmakefile>Makefile</projectmakefile>
+ <defaultConf>0</defaultConf>
+ <confs>
+ <conf name="default" type="2">
+ <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8108:=&lt;rev>0002:=&lt;man>Digilent:=&lt;prod>chipKitProgrammer:=&lt;sn>DA63B49:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+ <languageToolchainDir>C:\Program Files (x86)\Microchip\xc16\v1.41\bin</languageToolchainDir>
+ <mdbdebugger version="1">
+ <placeholder1>place holder 1</placeholder1>
+ <placeholder2>place holder 2</placeholder2>
+ </mdbdebugger>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ </confs>
+</configurationDescriptor>
diff --git a/EE3102Testing.X/nbproject/private/private.xml b/EE3102Testing.X/nbproject/private/private.xml
new file mode 100644
index 0000000..c25dc22
--- /dev/null
+++ b/EE3102Testing.X/nbproject/private/private.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+ <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+ <group>
+ <file>file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_asm_v001.s</file>
+ <file>file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_buffer_v001.c</file>
+ <file>file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_lcdLib_v001.h</file>
+ <file>file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_lcdLib_v001.c</file>
+ <file>file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_main_v001.c</file>
+ </group>
+ </open-files>
+</project-private>
diff --git a/EE3102Testing.X/nbproject/project.xml b/EE3102Testing.X/nbproject/project.xml
new file mode 100644
index 0000000..526148c
--- /dev/null
+++ b/EE3102Testing.X/nbproject/project.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>com.microchip.mplab.nbide.embedded.makeproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/make-project/1">
+ <name>EE3102Testing</name>
+ <creation-uuid>e761e4c4-63b8-47f9-9845-152cc8625c2c</creation-uuid>
+ <make-project-type>0</make-project-type>
+ <c-extensions>c</c-extensions>
+ <cpp-extensions/>
+ <header-extensions>h</header-extensions>
+ <asminc-extensions/>
+ <sourceEncoding>ISO-8859-1</sourceEncoding>
+ <make-dep-projects/>
+ <sourceRootList>
+ <sourceRootElem>.</sourceRootElem>
+ </sourceRootList>
+ <confList>
+ <confElem>
+ <name>default</name>
+ <type>2</type>
+ </confElem>
+ </confList>
+ <formatting>
+ <project-formatting-style>false</project-formatting-style>
+ </formatting>
+ </data>
+ </configuration>
+</project>
diff --git a/EE3102Testing.X/spies046_lab6_asm_v001.h b/EE3102Testing.X/spies046_lab6_asm_v001.h
new file mode 100644
index 0000000..a1a9e14
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_asm_v001.h
@@ -0,0 +1,23 @@
+/*
+ * File: spies046_lab6_asm_v001.h
+ * Author: micha
+ *
+ * Created on April 14, 2020, 8:42 PM
+ */
+
+#ifndef SPIES046_LAB6_ASM_V001_H
+#define SPIES046_LAB6_ASM_V001_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void mbs_wait_100us(void);
+ void mbs_wait_1ms(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SPIES046_LAB6_ASM_V001_H */
+
diff --git a/EE3102Testing.X/spies046_lab6_asm_v001.s b/EE3102Testing.X/spies046_lab6_asm_v001.s
new file mode 100644
index 0000000..4f0b8bc
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_asm_v001.s
@@ -0,0 +1,23 @@
+.include "xc.inc"
+
+.text ;BP (put the following data in ROM(program memory))
+.global _mbs_wait_100us, _mbs_wait_1ms
+
+
+_mbs_wait_100us: ;100us delay
+
+ clr LATA;
+ repeat #1593
+ nop
+ return
+
+_mbs_wait_1ms: ;1ms delay
+
+ repeat #15993
+ nop
+ return
+
+
+
+
+
diff --git a/EE3102Testing.X/spies046_lab6_buffer_v001.c b/EE3102Testing.X/spies046_lab6_buffer_v001.c
new file mode 100644
index 0000000..a83a289
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_buffer_v001.c
@@ -0,0 +1,42 @@
+/*
+ * File: spies046_lab6_buffer_v001.c
+ * Author: micha
+ *
+ * Created on April 14, 2020, 1:56 PM
+ */
+
+#include "xc.h"
+
+#define BUFFERSIZE 32
+
+volatile int write = 0, numE = 0;
+volatile unsigned int buffer[BUFFERSIZE];
+
+ void putVal(int newValue) { // add a new value to the buffer
+ buffer[write++] = newValue;
+ write %= BUFFERSIZE;
+
+ if (numE < BUFFERSIZE) {
+ ++numE;
+ }
+ }
+
+ int getAvg() { // average all buffer values
+ unsigned long int sum = 0;
+ unsigned int avg;
+
+ int i;
+ for (i = 0; i < BUFFERSIZE; i++) {
+ sum += buffer[i];
+ }
+ avg = sum/numE;
+
+ return(avg);
+ }
+
+ void initBuffer() { // set all buffer values to zero
+ int i;
+ for(i = 0; i < BUFFERSIZE; i++) {
+ buffer[i] = 0;
+ }
+ } \ No newline at end of file
diff --git a/EE3102Testing.X/spies046_lab6_buffer_v001.h b/EE3102Testing.X/spies046_lab6_buffer_v001.h
new file mode 100644
index 0000000..96d2ecf
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_buffer_v001.h
@@ -0,0 +1,25 @@
+/*
+ * File: spies046_lab6_buffer_v001.h
+ * Author: micha
+ *
+ * Created on April 14, 2020, 1:56 PM
+ */
+
+#ifndef SPIES046_LAB6_BUFFER_V001_H
+#define SPIES046_LAB6_BUFFER_V001_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void putVal(int newValue);
+ int getAvg();
+ void initBuffer();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SPIES046_LAB6_BUFFER_V001_H */
+
diff --git a/EE3102Testing.X/spies046_lab6_lcdLib_v001.c b/EE3102Testing.X/spies046_lab6_lcdLib_v001.c
new file mode 100644
index 0000000..3358b6a
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_lcdLib_v001.c
@@ -0,0 +1,140 @@
+/*
+ * File: spies046_lab6_lcdLib_v001.c
+ * Author: micha
+ *
+ * Created on April 14, 2020, 6:19 PM
+ */
+
+
+#include "xc.h"
+#include "spies046_lab6_asm_v001.h"
+
+volatile char con1 = 0x70;
+volatile char con2 = 0x54;
+volatile int strLength = 0;
+#define CONTRAST 0b00011111
+
+void delay(int msecs) { //Delay for 1ms times the input msecs
+ int i = 0;
+ while(i < msecs) {
+ mbs_wait_1ms();
+ i++;
+ }
+ return;
+}
+
+void contrastMask(char conTot) { //Masking the contrast values into the LCD initalization commands
+ con1 |= (conTot & 0x0F);
+ con2 |= (conTot >> 4) & 0x03;
+}
+
+void lcd_cmd(char cmd) {
+ I2C1CONbits.SEN = 1; //Initialize start condition
+ while (I2C1CONbits.SEN == 1); //Wait until start bit is low again
+
+ _MI2C1IF = 0;
+ I2C1TRN = 0b01111100; //Write slave address of LCD
+ while (IFS1bits.MI2C1IF == 0); //Wait until I2C1 interrupt flag is set
+
+ _MI2C1IF = 0; //Reset I2C1 Flag
+ I2C1TRN = 0b00000000; //Write control byte to LCD
+ while (IFS1bits.MI2C1IF == 0); //Wait until I2C1 interrupt flag is set
+
+ _MI2C1IF = 0; //Reset I2C1 Flag
+ I2C1TRN = cmd; //Write package value to LCD
+ while (IFS1bits.MI2C1IF == 0); //Wait until I2C1 interrupt flag is set
+
+ _MI2C1IF = 0; //Reset I2C1 Flag
+ I2C1CONbits.PEN = 1; //Initialize stop condition
+ while (I2C1CONbits.PEN == 1); //Wait until stop bit is low again
+}
+
+void lcd_init(void) {
+ contrastMask(CONTRAST);
+
+ delay(50);
+ lcd_cmd(0b00111000); // function set, normal instruction mode
+ lcd_cmd(0b00111001); // function set, extended instruction mode
+ lcd_cmd(0b00010100); // interval osc
+ lcd_cmd(con1); // contrast C3-C0
+ lcd_cmd(con2); // Ion, Bon, C5-C4
+ lcd_cmd(0b01101100); // follower control
+
+ delay(200);
+ lcd_cmd(0b00111000); // function set, normal instruction mode
+ lcd_cmd(0b00001100); // Display On
+ lcd_cmd(0b00000001); // Clear Display
+
+ delay(2);
+}
+
+void lcd_setCursor(char x, char y) {
+ lcd_cmd(((0x40 * y) + x) | 0x80); //Shift and mask row and column values to set cursor
+} // col can be 0-39, row can be 0-1
+
+void lcd_printChar(char myChar) {
+ I2C1CONbits.SEN = 1; //Initialize start condition
+ while (I2C1CONbits.SEN == 1);
+
+ _MI2C1IF = 0;
+ I2C1TRN = 0b01111100; //Write slave address to LCD
+ while (IFS1bits.MI2C1IF == 0);
+
+ _MI2C1IF = 0;
+ I2C1TRN = 0b01000000; //Write control value to LCD w/ Co=0 (only one being written)
+ while (IFS1bits.MI2C1IF == 0);
+
+ _MI2C1IF = 0;
+ I2C1TRN = myChar; //Write character value to LCD
+ while (IFS1bits.MI2C1IF == 0);
+
+ _MI2C1IF = 0;
+ I2C1CONbits.PEN = 1; //Initialize stop condition
+ while (I2C1CONbits.PEN == 1);
+}
+
+void lcd_printStr(const char s[]) {
+ int index = 0;
+
+ I2C1CONbits.SEN = 1; //Initialize start condition
+ while (I2C1CONbits.SEN == 1);
+
+ _MI2C1IF = 0;
+ I2C1TRN = 0b01111100; //Write slave address to LCD
+ while (IFS1bits.MI2C1IF == 0);
+
+ while (index < 8) { //Only writing string length, not whole buffer length
+
+ _MI2C1IF = 0;
+ if (index < 7) { //writing control byte to LCD
+ I2C1TRN = 0b11000000; //Co=1 if the byte being written is not the last one
+ } else {
+ I2C1TRN = 0b01000000; //Co=0 if byte being written is the last one
+ }
+ while (IFS1bits.MI2C1IF == 0);
+
+
+ _MI2C1IF = 0;
+ I2C1TRN = s[index]; //Write character value to LCD
+ while (IFS1bits.MI2C1IF == 0);
+
+ index++;
+ }
+
+ _MI2C1IF = 0;
+ I2C1CONbits.PEN = 1; //Initialize stop condition
+ while (I2C1CONbits.PEN == 1);
+}
+
+void lcd_ShiftL(const char s[]) {
+ lcd_cmd(0b00011000); //Shift display and cursor to the left once
+ lcd_cmd(0b00000001); //Clear the display
+ lcd_printStr(s); //Reprint string on LCD in new position
+}
+
+void findLength(const char s[]) {
+ int index = 0;
+ for (index = 0; s[index] != '\n'; index++) { //Increment strLength if character in string is not \n
+ strLength++; //to find the total length of the string
+ }
+}
diff --git a/EE3102Testing.X/spies046_lab6_lcdLib_v001.h b/EE3102Testing.X/spies046_lab6_lcdLib_v001.h
new file mode 100644
index 0000000..452ed54
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_lcdLib_v001.h
@@ -0,0 +1,30 @@
+/*
+ * File: spies046_lab6_lcdLib_v001.h
+ * Author: micha
+ *
+ * Created on April 14, 2020, 8:43 PM
+ */
+
+#ifndef SPIES046_LAB6_LCDLIB_V001_H
+#define SPIES046_LAB6_LCDLIB_V001_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void delay(int msecs);
+ void lcd_cmd(char package);
+ void lcd_init(void);
+ void lcd_setCursor(char col, char row);
+ void lcd_printChar(char myChar);
+ void lcd_printStr(const char s[]);
+ void lcd_ShiftL(const char s[]);
+ void findLength(const char s[]);
+ void contrastMask(char conTot);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SPIES046_LAB6_LCDLIB_V001_H */
+
diff --git a/EE3102Testing.X/spies046_lab6_main_v001.c b/EE3102Testing.X/spies046_lab6_main_v001.c
new file mode 100644
index 0000000..255c89a
--- /dev/null
+++ b/EE3102Testing.X/spies046_lab6_main_v001.c
@@ -0,0 +1,97 @@
+/*
+ * File: spies046_lab6_main_v001.c
+ * Author: micha
+ *
+ * Created on April 14, 2020, 1:51 PM
+ */
+
+#include "xc.h"
+#include <stdio.h>
+#include "spies046_lab6_buffer_v001.h"
+#include "spies046_lab6_asm_v001.h"
+#include "spies046_lab6_lcdLib_v001.h"
+
+
+// CW1: FLASH CONFIGURATION WORD 1 (see PIC24 Family Reference Manual 24.1)
+#pragma config ICS = PGx1 // Comm Channel Select (Emulator EMUC1/EMUD1 pins are shared with PGC1/PGD1)
+#pragma config FWDTEN = OFF // Watchdog Timer Enable (Watchdog Timer is disabled)
+#pragma config GWRP = OFF // General Code Segment Write Protect (Writes to program memory are allowed)
+#pragma config GCP = OFF // General Code Segment Code Protect (Code protection is disabled)
+#pragma config JTAGEN = OFF // JTAG Port Enable (JTAG port is disabled)
+
+
+// CW2: FLASH CONFIGURATION WORD 2 (see PIC24 Family Reference Manual 24.1)
+#pragma config I2C1SEL = PRI // I2C1 Pin Location Select (Use default SCL1/SDA1 pins)
+#pragma config IOL1WAY = OFF // IOLOCK Protection (IOLOCK may be changed via unlocking seq)
+#pragma config OSCIOFNC = ON // Primary Oscillator I/O Function (CLKO/RC15 functions as I/O pin)
+#pragma config FCKSM = CSECME // Clock Switching and Monitor (Clock switching is enabled,
+ // Fail-Safe Clock Monitor is enabled)
+#pragma config FNOSC = FRCPLL // Oscillator Select (Fast RC Oscillator with PLL module (FRCPLL))
+
+volatile int adValue;
+
+void __attribute__((__interrupt__,__auto_psv__)) _ADC1Interrupt(void) {
+ _AD1IF = 0;
+
+ putVal(ADC1BUF0); //Grab latest sampled value ater conversion and place it in buffer
+}
+
+void __attribute__((__interrupt__,__auto_psv__)) _T2Interrupt(void) {
+ _T2IF = 0;
+
+ adValue = getAvg(); //Grab average buffer value every 100ms
+}
+
+void setup (void) {
+ AD1PCFG = 0x9FFC; //Set pin RA0, RA1 as analog
+ TRISA = 0x0003; //Set pin RA0, RA1 as an input
+
+ T2CON = 0; //Set up timer 2 to have a delay of 100ms
+ PR2 = 24999; //and enable the interrupt for timer 2
+ T2CONbits.TCKPS = 2;
+ T2CONbits.TON = 1;
+ _T2IE = 1;
+ _T2IF = 0;
+
+ I2C1CONbits.I2CEN = 0; //Disable I2C2 to safely change Baud Rate
+ I2C1BRG = 0x9D; //Set Baud Rate to 100kHz
+ I2C1CONbits.I2CEN = 1; //Enable I2C2 for project use
+ _MI2C1IF = 0; //clear I2C2 flag
+
+ T3CON = 0; //Set up timer 3 with a delay of 62.5ms for
+ PR3 = 15625; //use with ADC conversions on pin RA0
+ T3CONbits.TCKPS = 2;
+ T3CONbits.TON = 1;
+
+ AD1CON1 = 0, AD1CON2 = 0, AD1CON3 = 0;
+ _AD1IE = 1;
+ _AD1IF = 0;
+ AD1CON1bits.ASAM = 1; //Turn on automatic sampling
+ AD1CON1bits.SSRC = 2; //Use timer 3 to end sampling time
+
+ AD1CON2bits.VCFG = 0; //Configure refernce voltages to be Vdd and GND
+ AD1CON2bits.SMPI = 0; //Interrupt after completion of every conversion
+
+ AD1CON3bits.SAMC = 1; //Set Tsmp = 1*Tad
+ AD1CON3bits.ADCS = 1; //Set Tad = 2*Tcy
+
+ AD1CON1bits.ADON = 1; //Turn on ADC1 Peripheral
+}
+
+int main(void) {
+ setup(); //Initializing pins and setting up peripherals
+ initBuffer(); //Clearing the circular buffer
+ lcd_init(); //Running through LCD initialization sequence
+
+ char adStr[20]; //The string printed to the LCD
+
+ while(1) {
+ lcd_setCursor(0,0); //Setting the cursor to the top left corner of the display
+ sprintf(adStr,"%6.4f V",(3.3/1024)*adValue); //Formatting the string that will be written
+
+ lcd_printStr(adStr); //Writing the entire string to the display
+ }
+
+
+ return 0;
+}