From 2611212d80a1a65c47e09822e75f2506283c949a Mon Sep 17 00:00:00 2001 From: Andrea Date: Sat, 27 Mar 2021 12:12:39 -0500 Subject: Added intial PIC24 Firmware --- EE3102Testing.X/Makefile | 113 ++ .../default/production/spies046_lab6_asm_v001.o | Bin 0 -> 24836 bytes .../default/production/spies046_lab6_asm_v001.o.d | 2 + .../default/production/spies046_lab6_buffer_v001.o | Bin 0 -> 5428 bytes .../production/spies046_lab6_buffer_v001.o.d | 2 + .../default/production/spies046_lab6_lcdLib_v001.o | Bin 0 -> 11592 bytes .../production/spies046_lab6_lcdLib_v001.o.d | 3 + .../default/production/spies046_lab6_main_v001.o | Bin 0 -> 16348 bytes .../default/production/spies046_lab6_main_v001.o.d | 5 + .../production/EE3102Testing.X.production.elf | Bin 0 -> 200588 bytes .../production/EE3102Testing.X.production.hex | 1018 +++++++++++++++ .../production/EE3102Testing.X.production.map | 1377 ++++++++++++++++++++ .../dist/default/production/memoryfile.xml | 18 + EE3102Testing.X/nbproject/Makefile-default.mk | 203 +++ .../nbproject/Makefile-genesis.properties | 10 + EE3102Testing.X/nbproject/Makefile-impl.mk | 69 + .../nbproject/Makefile-local-default.mk | 38 + EE3102Testing.X/nbproject/Makefile-variables.mk | 13 + EE3102Testing.X/nbproject/Package-default.bash | 73 ++ EE3102Testing.X/nbproject/configurations.xml | 229 ++++ .../nbproject/private/configurations.xml | 25 + EE3102Testing.X/nbproject/private/private.xml | 13 + EE3102Testing.X/nbproject/project.xml | 29 + EE3102Testing.X/spies046_lab6_asm_v001.h | 23 + EE3102Testing.X/spies046_lab6_asm_v001.s | 23 + EE3102Testing.X/spies046_lab6_buffer_v001.c | 42 + EE3102Testing.X/spies046_lab6_buffer_v001.h | 25 + EE3102Testing.X/spies046_lab6_lcdLib_v001.c | 140 ++ EE3102Testing.X/spies046_lab6_lcdLib_v001.h | 30 + EE3102Testing.X/spies046_lab6_main_v001.c | 97 ++ 30 files changed, 3620 insertions(+) create mode 100644 EE3102Testing.X/Makefile create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o.d create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o.d create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o.d create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o create mode 100644 EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o.d create mode 100644 EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elf create mode 100644 EE3102Testing.X/dist/default/production/EE3102Testing.X.production.hex create mode 100644 EE3102Testing.X/dist/default/production/EE3102Testing.X.production.map create mode 100644 EE3102Testing.X/dist/default/production/memoryfile.xml create mode 100644 EE3102Testing.X/nbproject/Makefile-default.mk create mode 100644 EE3102Testing.X/nbproject/Makefile-genesis.properties create mode 100644 EE3102Testing.X/nbproject/Makefile-impl.mk create mode 100644 EE3102Testing.X/nbproject/Makefile-local-default.mk create mode 100644 EE3102Testing.X/nbproject/Makefile-variables.mk create mode 100644 EE3102Testing.X/nbproject/Package-default.bash create mode 100644 EE3102Testing.X/nbproject/configurations.xml create mode 100644 EE3102Testing.X/nbproject/private/configurations.xml create mode 100644 EE3102Testing.X/nbproject/private/private.xml create mode 100644 EE3102Testing.X/nbproject/project.xml create mode 100644 EE3102Testing.X/spies046_lab6_asm_v001.h create mode 100644 EE3102Testing.X/spies046_lab6_asm_v001.s create mode 100644 EE3102Testing.X/spies046_lab6_buffer_v001.c create mode 100644 EE3102Testing.X/spies046_lab6_buffer_v001.h create mode 100644 EE3102Testing.X/spies046_lab6_lcdLib_v001.c create mode 100644 EE3102Testing.X/spies046_lab6_lcdLib_v001.h create mode 100644 EE3102Testing.X/spies046_lab6_main_v001.c 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 Binary files /dev/null and b/EE3102Testing.X/build/default/production/spies046_lab6_asm_v001.o 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 Binary files /dev/null and b/EE3102Testing.X/build/default/production/spies046_lab6_buffer_v001.o 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 Binary files /dev/null and b/EE3102Testing.X/build/default/production/spies046_lab6_lcdLib_v001.o 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 Binary files /dev/null and b/EE3102Testing.X/build/default/production/spies046_lab6_main_v001.o 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 Binary files /dev/null and b/EE3102Testing.X/dist/default/production/EE3102Testing.X.production.elf 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 @@ + + + + + + bytes + 8192 + 190 + 8002 + + + bytes + 65274 + 8142 + 57132 + + + 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 @@ + + + + + spies046_lab6_asm_v001.h + spies046_lab6_buffer_v001.h + spies046_lab6_lcdLib_v001.h + + + + + spies046_lab6_asm_v001.s + spies046_lab6_buffer_v001.c + spies046_lab6_lcdLib_v001.c + spies046_lab6_main_v001.c + + + Makefile + + + + . + + Makefile + + + + localhost + PIC24FJ64GA002 + + + PK3OBPlatformTool + XC16 + 1.41 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + Makefile + 0 + + + :=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>8108:=<rev>0002:=<man>Digilent:=<prod>chipKitProgrammer:=<sn>DA63B49:=<drv>x:=<xpt>h:=end + C:\Program Files (x86)\Microchip\xc16\v1.41\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + 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 @@ + + + + + + file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_asm_v001.s + file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_buffer_v001.c + file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_lcdLib_v001.h + file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_lcdLib_v001.c + file:/C:/Users/micha/MPLABXProjects/EE3102Testing.X/spies046_lab6_main_v001.c + + + 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 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + EE3102Testing + e761e4c4-63b8-47f9-9845-152cc8625c2c + 0 + c + + h + + ISO-8859-1 + + + . + + + + default + 2 + + + + false + + + + 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 +#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; +} -- cgit v1.2.3