From f7dddf06297f415413760f3bedf00f7297e60cf7 Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Wed, 8 Apr 2020 11:17:47 -0500 Subject: Forget to add a bunch of things oops --- Disc02.X/disc02C.c | 56 - Disc02.X/disc02asm.s | 40 - HW3.X/Makefile | 113 - HW3.X/dist/default/debug/memoryfile.xml | 18 - HW3.X/dist/default/production/memoryfile.xml | 18 - HW3.X/nbproject/Makefile-default.mk | 161 - HW3.X/nbproject/Makefile-genesis.properties | 10 - HW3.X/nbproject/Makefile-impl.mk | 69 - HW3.X/nbproject/Makefile-local-default.mk | 38 - HW3.X/nbproject/Makefile-variables.mk | 13 - HW3.X/nbproject/Package-default.bash | 73 - HW3.X/nbproject/configurations.xml | 657 ---- HW3.X/nbproject/private/configurations.xml | 25 - HW3.X/nbproject/private/private.xml | 9 - HW3.X/nbproject/project.xml | 29 - HW3.X/strap012_hw3prob1.c | 57 - HW3.X/strap012_hw3prob2.c | 93 - HW3.X/strap012_hw3prob3.c | 77 - Lab 03 Report.txt | 4 + Lab 1.X/Makefile | 113 - Lab 1.X/nbproject/Makefile-default.mk | 147 - Lab 1.X/nbproject/Makefile-genesis.properties | 10 - Lab 1.X/nbproject/Makefile-impl.mk | 69 - Lab 1.X/nbproject/Makefile-local-default.mk | 38 - Lab 1.X/nbproject/Makefile-variables.mk | 13 - Lab 1.X/nbproject/Package-default.bash | 73 - Lab 1.X/nbproject/configurations.xml | 189 -- Lab 1.X/nbproject/private/configurations.xml | 25 - Lab 1.X/nbproject/private/private.xml | 6 - Lab 1.X/nbproject/project.xml | 27 - Lab 2.X/Lab2A.s | 123 - Lab 2.X/Makefile | 113 - Lab 2.X/debug/default/defmplabxtrace.log | 0 Lab 2.X/debug/default/defmplabxtrace.log.inx | Bin 25 -> 0 bytes Lab 2.X/dist/default/debug/memoryfile.xml | 18 - Lab 2.X/nbproject/Makefile-default.mk | 161 - Lab 2.X/nbproject/Makefile-genesis.properties | 10 - Lab 2.X/nbproject/Makefile-impl.mk | 69 - Lab 2.X/nbproject/Makefile-local-default.mk | 38 - Lab 2.X/nbproject/Makefile-variables.mk | 13 - Lab 2.X/nbproject/Package-default.bash | 73 - Lab 2.X/nbproject/configurations.xml | 190 -- Lab 2.X/nbproject/private/configurations.xml | 25 - Lab 2.X/nbproject/private/private.xml | 7 - Lab 2.X/nbproject/project.xml | 29 - Lab 3.zip | Bin 0 -> 55715 bytes Lab1.X/Makefile | 113 + Lab1.X/nbproject/Makefile-default.mk | 147 + Lab1.X/nbproject/Makefile-genesis.properties | 10 + Lab1.X/nbproject/Makefile-impl.mk | 69 + Lab1.X/nbproject/Makefile-local-default.mk | 38 + Lab1.X/nbproject/Makefile-variables.mk | 13 + Lab1.X/nbproject/Package-default.bash | 73 + Lab1.X/nbproject/configurations.xml | 189 ++ Lab1.X/nbproject/private/configurations.xml | 25 + Lab1.X/nbproject/private/private.xml | 6 + Lab1.X/nbproject/project.xml | 27 + Lab2A.X/Lab2A.s | 123 + Lab2A.X/Makefile | 113 + Lab2A.X/debug/default/defmplabxtrace.log | 0 Lab2A.X/debug/default/defmplabxtrace.log.inx | Bin 0 -> 25 bytes Lab2A.X/dist/default/debug/memoryfile.xml | 18 + Lab2A.X/nbproject/Makefile-default.mk | 161 + Lab2A.X/nbproject/Makefile-genesis.properties | 10 + Lab2A.X/nbproject/Makefile-impl.mk | 69 + Lab2A.X/nbproject/Makefile-local-default.mk | 38 + Lab2A.X/nbproject/Makefile-variables.mk | 13 + Lab2A.X/nbproject/Package-default.bash | 73 + Lab2A.X/nbproject/configurations.xml | 190 ++ Lab2A.X/nbproject/private/configurations.xml | 25 + Lab2A.X/nbproject/private/private.xml | 7 + Lab2A.X/nbproject/project.xml | 27 + Lab2B.X/Makefile | 113 + Lab2B.X/dist/default/debug/memoryfile.xml | 18 + Lab2B.X/dist/default/production/memoryfile.xml | 18 + Lab2B.X/lab2b_asm.s | 40 + Lab2B.X/lab2b_c.c | 153 + Lab2B.X/lab2b_header.h | 15 + Lab2B.X/nbproject/Makefile-default.mk | 175 ++ Lab2B.X/nbproject/Makefile-genesis.properties | 10 + Lab2B.X/nbproject/Makefile-impl.mk | 69 + Lab2B.X/nbproject/Makefile-local-default.mk | 37 + Lab2B.X/nbproject/Makefile-variables.mk | 13 + Lab2B.X/nbproject/Package-default.bash | 73 + Lab2B.X/nbproject/configurations.xml | 198 ++ Lab2B.X/nbproject/private/configurations.xml | 25 + Lab2B.X/nbproject/private/private.xml | 7 + Lab2B.X/nbproject/project.xml | 32 + Lab3.X/display.c | 99 +- Lab3.X/display.h | 2 +- Lab3.X/dist/default/production/memoryfile.xml | 4 +- Lab3.X/lab3_main.c | 63 + Lab3.X/lab3_main_MAYA_C.c | 96 - Lab3.X/lab3_main_c.BAK | 59 + Lab3.X/lab3_main_c.c | 59 - Lab3.X/nbproject/Makefile-default.mk | 8 +- Lab3.X/nbproject/Makefile-genesis.properties | 14 +- Lab3.X/nbproject/Makefile-local-default.mk | 26 +- Lab3.X/nbproject/configurations.xml | 10 +- Lab3.X/nbproject/private/configurations.xml | 4 +- Lab3.X/nbproject/private/private.xml | 8 +- Lab3.X/nbproject/project.xml | 2 +- Lab3.X/numpad.c | 45 +- Lab3.X/numpad.h | 1 + Lab4.X/Lab4 Report.pdf | Bin 0 -> 64013 bytes Lab4.X/Makefile | 113 + Lab4.X/MyConfig.mc3 | 3859 ++++++++++++++++++++++++ Lab4.X/dist/default/debug/memoryfile.xml | 18 + Lab4.X/dist/default/production/memoryfile.xml | 18 + Lab4.X/lab4_button.c | 68 +- Lab4.X/lab4_button.h | 18 + Lab4.X/lab4_main.c | 51 + Lab4.X/lab4_servo.c | 23 + Lab4.X/lab4_servo.h | 17 + Lab4.X/nbproject/Makefile-default.mk | 189 ++ Lab4.X/nbproject/Makefile-genesis.properties | 10 + Lab4.X/nbproject/Makefile-impl.mk | 69 + Lab4.X/nbproject/Makefile-local-default.mk | 38 + Lab4.X/nbproject/Makefile-variables.mk | 13 + Lab4.X/nbproject/Package-default.bash | 73 + Lab4.X/nbproject/configurations.xml | 656 ++++ Lab4.X/nbproject/private/configurations.xml | 25 + Lab4.X/nbproject/private/private.xml | 7 + Lab4.X/nbproject/project.xml | 27 + Lab4.X/strap012_lab4.zip | Bin 0 -> 66083 bytes Lab4.X/strap012_lab4_I_Guess.zip | Bin 0 -> 2955 bytes Lab5.X/Makefile | 113 + Lab5.X/dist/default/debug/memoryfile.xml | 18 + Lab5.X/dist/default/production/memoryfile.xml | 18 + Lab5.X/lab5_lcd.c | 98 + Lab5.X/lab5_lcd.h | 17 + Lab5.X/lab5_main.c | 37 + Lab5.X/nbproject/Makefile-default.mk | 175 ++ Lab5.X/nbproject/Makefile-genesis.properties | 10 + Lab5.X/nbproject/Makefile-impl.mk | 69 + Lab5.X/nbproject/Makefile-local-default.mk | 38 + Lab5.X/nbproject/Makefile-variables.mk | 13 + Lab5.X/nbproject/Package-default.bash | 73 + Lab5.X/nbproject/configurations.xml | 653 ++++ Lab5.X/nbproject/private/configurations.xml | 25 + Lab5.X/nbproject/private/private.xml | 11 + Lab5.X/nbproject/project.xml | 27 + Lab_2B.X/Makefile | 113 - Lab_2B.X/lab2b_asm.s | 40 - Lab_2B.X/nbproject/Makefile-default.mk | 175 -- Lab_2B.X/nbproject/Makefile-impl.mk | 69 - Lab_2B.X/nbproject/Makefile-local-default.mk | 38 - Lab_2B.X/nbproject/Makefile-variables.mk | 13 - Lab_2B.X/nbproject/Package-default.bash | 73 - 149 files changed, 9484 insertions(+), 3936 deletions(-) delete mode 100644 Disc02.X/disc02C.c delete mode 100644 Disc02.X/disc02asm.s delete mode 100644 HW3.X/Makefile delete mode 100644 HW3.X/dist/default/debug/memoryfile.xml delete mode 100644 HW3.X/dist/default/production/memoryfile.xml delete mode 100644 HW3.X/nbproject/Makefile-default.mk delete mode 100644 HW3.X/nbproject/Makefile-genesis.properties delete mode 100644 HW3.X/nbproject/Makefile-impl.mk delete mode 100644 HW3.X/nbproject/Makefile-local-default.mk delete mode 100644 HW3.X/nbproject/Makefile-variables.mk delete mode 100644 HW3.X/nbproject/Package-default.bash delete mode 100644 HW3.X/nbproject/configurations.xml delete mode 100644 HW3.X/nbproject/private/configurations.xml delete mode 100644 HW3.X/nbproject/private/private.xml delete mode 100644 HW3.X/nbproject/project.xml delete mode 100644 HW3.X/strap012_hw3prob1.c delete mode 100644 HW3.X/strap012_hw3prob2.c delete mode 100644 HW3.X/strap012_hw3prob3.c create mode 100644 Lab 03 Report.txt delete mode 100644 Lab 1.X/Makefile delete mode 100644 Lab 1.X/nbproject/Makefile-default.mk delete mode 100644 Lab 1.X/nbproject/Makefile-genesis.properties delete mode 100644 Lab 1.X/nbproject/Makefile-impl.mk delete mode 100644 Lab 1.X/nbproject/Makefile-local-default.mk delete mode 100644 Lab 1.X/nbproject/Makefile-variables.mk delete mode 100644 Lab 1.X/nbproject/Package-default.bash delete mode 100644 Lab 1.X/nbproject/configurations.xml delete mode 100644 Lab 1.X/nbproject/private/configurations.xml delete mode 100644 Lab 1.X/nbproject/private/private.xml delete mode 100644 Lab 1.X/nbproject/project.xml delete mode 100644 Lab 2.X/Lab2A.s delete mode 100644 Lab 2.X/Makefile delete mode 100644 Lab 2.X/debug/default/defmplabxtrace.log delete mode 100644 Lab 2.X/debug/default/defmplabxtrace.log.inx delete mode 100644 Lab 2.X/dist/default/debug/memoryfile.xml delete mode 100644 Lab 2.X/nbproject/Makefile-default.mk delete mode 100644 Lab 2.X/nbproject/Makefile-genesis.properties delete mode 100644 Lab 2.X/nbproject/Makefile-impl.mk delete mode 100644 Lab 2.X/nbproject/Makefile-local-default.mk delete mode 100644 Lab 2.X/nbproject/Makefile-variables.mk delete mode 100644 Lab 2.X/nbproject/Package-default.bash delete mode 100644 Lab 2.X/nbproject/configurations.xml delete mode 100644 Lab 2.X/nbproject/private/configurations.xml delete mode 100644 Lab 2.X/nbproject/private/private.xml delete mode 100644 Lab 2.X/nbproject/project.xml create mode 100644 Lab 3.zip create mode 100644 Lab1.X/Makefile create mode 100644 Lab1.X/nbproject/Makefile-default.mk create mode 100644 Lab1.X/nbproject/Makefile-genesis.properties create mode 100644 Lab1.X/nbproject/Makefile-impl.mk create mode 100644 Lab1.X/nbproject/Makefile-local-default.mk create mode 100644 Lab1.X/nbproject/Makefile-variables.mk create mode 100644 Lab1.X/nbproject/Package-default.bash create mode 100644 Lab1.X/nbproject/configurations.xml create mode 100644 Lab1.X/nbproject/private/configurations.xml create mode 100644 Lab1.X/nbproject/private/private.xml create mode 100644 Lab1.X/nbproject/project.xml create mode 100644 Lab2A.X/Lab2A.s create mode 100644 Lab2A.X/Makefile create mode 100644 Lab2A.X/debug/default/defmplabxtrace.log create mode 100644 Lab2A.X/debug/default/defmplabxtrace.log.inx create mode 100644 Lab2A.X/dist/default/debug/memoryfile.xml create mode 100644 Lab2A.X/nbproject/Makefile-default.mk create mode 100644 Lab2A.X/nbproject/Makefile-genesis.properties create mode 100644 Lab2A.X/nbproject/Makefile-impl.mk create mode 100644 Lab2A.X/nbproject/Makefile-local-default.mk create mode 100644 Lab2A.X/nbproject/Makefile-variables.mk create mode 100644 Lab2A.X/nbproject/Package-default.bash create mode 100644 Lab2A.X/nbproject/configurations.xml create mode 100644 Lab2A.X/nbproject/private/configurations.xml create mode 100644 Lab2A.X/nbproject/private/private.xml create mode 100644 Lab2A.X/nbproject/project.xml create mode 100644 Lab2B.X/Makefile create mode 100644 Lab2B.X/dist/default/debug/memoryfile.xml create mode 100644 Lab2B.X/dist/default/production/memoryfile.xml create mode 100644 Lab2B.X/lab2b_asm.s create mode 100644 Lab2B.X/lab2b_c.c create mode 100644 Lab2B.X/lab2b_header.h create mode 100644 Lab2B.X/nbproject/Makefile-default.mk create mode 100644 Lab2B.X/nbproject/Makefile-genesis.properties create mode 100644 Lab2B.X/nbproject/Makefile-impl.mk create mode 100644 Lab2B.X/nbproject/Makefile-local-default.mk create mode 100644 Lab2B.X/nbproject/Makefile-variables.mk create mode 100644 Lab2B.X/nbproject/Package-default.bash create mode 100644 Lab2B.X/nbproject/configurations.xml create mode 100644 Lab2B.X/nbproject/private/configurations.xml create mode 100644 Lab2B.X/nbproject/private/private.xml create mode 100644 Lab2B.X/nbproject/project.xml create mode 100644 Lab3.X/lab3_main.c delete mode 100644 Lab3.X/lab3_main_MAYA_C.c create mode 100644 Lab3.X/lab3_main_c.BAK delete mode 100644 Lab3.X/lab3_main_c.c create mode 100644 Lab4.X/Lab4 Report.pdf create mode 100644 Lab4.X/Makefile create mode 100644 Lab4.X/MyConfig.mc3 create mode 100644 Lab4.X/dist/default/debug/memoryfile.xml create mode 100644 Lab4.X/dist/default/production/memoryfile.xml create mode 100644 Lab4.X/lab4_button.h create mode 100644 Lab4.X/lab4_main.c create mode 100644 Lab4.X/lab4_servo.c create mode 100644 Lab4.X/lab4_servo.h create mode 100644 Lab4.X/nbproject/Makefile-default.mk create mode 100644 Lab4.X/nbproject/Makefile-genesis.properties create mode 100644 Lab4.X/nbproject/Makefile-impl.mk create mode 100644 Lab4.X/nbproject/Makefile-local-default.mk create mode 100644 Lab4.X/nbproject/Makefile-variables.mk create mode 100644 Lab4.X/nbproject/Package-default.bash create mode 100644 Lab4.X/nbproject/configurations.xml create mode 100644 Lab4.X/nbproject/private/configurations.xml create mode 100644 Lab4.X/nbproject/private/private.xml create mode 100644 Lab4.X/nbproject/project.xml create mode 100644 Lab4.X/strap012_lab4.zip create mode 100644 Lab4.X/strap012_lab4_I_Guess.zip create mode 100644 Lab5.X/Makefile create mode 100644 Lab5.X/dist/default/debug/memoryfile.xml create mode 100644 Lab5.X/dist/default/production/memoryfile.xml create mode 100644 Lab5.X/lab5_lcd.c create mode 100644 Lab5.X/lab5_lcd.h create mode 100644 Lab5.X/lab5_main.c create mode 100644 Lab5.X/nbproject/Makefile-default.mk create mode 100644 Lab5.X/nbproject/Makefile-genesis.properties create mode 100644 Lab5.X/nbproject/Makefile-impl.mk create mode 100644 Lab5.X/nbproject/Makefile-local-default.mk create mode 100644 Lab5.X/nbproject/Makefile-variables.mk create mode 100644 Lab5.X/nbproject/Package-default.bash create mode 100644 Lab5.X/nbproject/configurations.xml create mode 100644 Lab5.X/nbproject/private/configurations.xml create mode 100644 Lab5.X/nbproject/private/private.xml create mode 100644 Lab5.X/nbproject/project.xml delete mode 100644 Lab_2B.X/Makefile delete mode 100644 Lab_2B.X/lab2b_asm.s delete mode 100644 Lab_2B.X/nbproject/Makefile-default.mk delete mode 100644 Lab_2B.X/nbproject/Makefile-impl.mk delete mode 100644 Lab_2B.X/nbproject/Makefile-local-default.mk delete mode 100644 Lab_2B.X/nbproject/Makefile-variables.mk delete mode 100644 Lab_2B.X/nbproject/Package-default.bash diff --git a/Disc02.X/disc02C.c b/Disc02.X/disc02C.c deleted file mode 100644 index 442852f..0000000 --- a/Disc02.X/disc02C.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include - -// PIC24FJ64GA002 Configuration Bit Settings -// 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 POSCMOD = NONE // Primary Oscillator Select (Primary oscillator disabled. - // Primary Oscillator refers to an external osc connected to the OSC1 and OSC2 pins) -#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 // OSC2/CLKO/RC15 functions as port I/O (RC15) -#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)) - -void myAsmFunc(int iterations); - -int myGlobalVar; -extern int counter; - -void setup(void) { - CLKDIVbits.RCDIV = 0; - - AD1PCFG = 0x9fff; // all digital - TRISB = 3; - LATB = 0; -} - -int main(void) { - int aS=-1, bS=-2; - unsigned int aU = 65535, bU=65534; - int dummy = 1; - - setup(); - - myGlobalVar = 4; - counter = 5; - - myAsmFunc(3); - - if (aS < bS) - ++dummy; - - if (aU < bU) - ++dummy; - - while (1) { - } -} diff --git a/Disc02.X/disc02asm.s b/Disc02.X/disc02asm.s deleted file mode 100644 index c718500..0000000 --- a/Disc02.X/disc02asm.s +++ /dev/null @@ -1,40 +0,0 @@ - .equ __P24FJ64GA002,1 ;required "boiler-plate" (BP) - .include "p24Fxxxx.inc" ;BP - -#include "xc.inc" ;BP - ; DO NOT include config statements. We define them in the C file - ;the next two lines set up the actual chip for operation - required - ;config __CONFIG2, POSCMOD_NONE & I2C1SEL_PRI & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSECME & FNOSC_FRCPLL & SOSCSEL_LPSOSC & WUTSEL_FST & IESO_OFF - ;config __CONFIG1, FWDTEN_OFF & COE_OFF & BKBUG_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF - - .bss ;put the following labels in RAM -_counter: .space 2 ;declare a 16-bit variable -; you SHOULD NOT define stack, becasue this file is compiled -; alongside a C file that contains main(). The C compiler -; will create stack space for us. -;stack: -; .space 32 ;this will be our stack area, from var_16_bit to here - .text ;BP (put the following data in ROM(program memory)) - .global _myAsmFunc - .global _myGlobalVar - .global _counter - -_myAsmFunc: - push w0 - - inc _myGlobalVar - inc _counter - - bra checkLoopEndCond -loopBody: - btg LATB, #2 ; btg stands for bit-toggle. - nop - dec WREG0 -checkLoopEndCond: - cp0 w0 - bra nz, loopBody - - pop w0 - return - .end - diff --git a/HW3.X/Makefile b/HW3.X/Makefile deleted file mode 100644 index fca8e2c..0000000 --- a/HW3.X/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -# 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/HW3.X/dist/default/debug/memoryfile.xml b/HW3.X/dist/default/debug/memoryfile.xml deleted file mode 100644 index c74e6e0..0000000 --- a/HW3.X/dist/default/debug/memoryfile.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - bytes - 8192 - 10 - 8182 - - - bytes - 65274 - 594 - 64680 - - - diff --git a/HW3.X/dist/default/production/memoryfile.xml b/HW3.X/dist/default/production/memoryfile.xml deleted file mode 100644 index 22401db..0000000 --- a/HW3.X/dist/default/production/memoryfile.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - bytes - 8192 - 4 - 8188 - - - bytes - 65274 - 453 - 64821 - - - diff --git a/HW3.X/nbproject/Makefile-default.mk b/HW3.X/nbproject/Makefile-default.mk deleted file mode 100644 index 6187043..0000000 --- a/HW3.X/nbproject/Makefile-default.mk +++ /dev/null @@ -1,161 +0,0 @@ -# -# 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}/HW3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -else -IMAGE_TYPE=production -OUTPUT_SUFFIX=hex -DEBUGGABLE_SUFFIX=elf -FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/HW3.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=strap012_hw3prob2.c - -# Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/strap012_hw3prob2.o -POSSIBLE_DEPFILES=${OBJECTDIR}/strap012_hw3prob2.o.d - -# Object Files -OBJECTFILES=${OBJECTDIR}/strap012_hw3prob2.o - -# Source Files -SOURCEFILES=strap012_hw3prob2.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}/HW3.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}/strap012_hw3prob2.o: strap012_hw3prob2.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/strap012_hw3prob2.o.d - @${RM} ${OBJECTDIR}/strap012_hw3prob2.o - ${MP_CC} $(MP_EXTRA_CC_PRE) strap012_hw3prob2.c -o ${OBJECTDIR}/strap012_hw3prob2.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/strap012_hw3prob2.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=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}/strap012_hw3prob2.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -else -${OBJECTDIR}/strap012_hw3prob2.o: strap012_hw3prob2.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/strap012_hw3prob2.o.d - @${RM} ${OBJECTDIR}/strap012_hw3prob2.o - ${MP_CC} $(MP_EXTRA_CC_PRE) strap012_hw3prob2.c -o ${OBJECTDIR}/strap012_hw3prob2.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/strap012_hw3prob2.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}/strap012_hw3prob2.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -endif - -# ------------------------------------------------------------------------------------ -# Rules for buildStep: assemble -ifeq ($(TYPE_IMAGE), DEBUG_RUN) -else -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}/HW3.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}/HW3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_SIMULATOR=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}/HW3.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}/HW3.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}/HW3.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/HW3.X/nbproject/Makefile-genesis.properties b/HW3.X/nbproject/Makefile-genesis.properties deleted file mode 100644 index 458c029..0000000 --- a/HW3.X/nbproject/Makefile-genesis.properties +++ /dev/null @@ -1,10 +0,0 @@ -# -#Sat Mar 21 14:52:53 CDT 2020 -default.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.35\\packs\\Microchip\\PIC24F-GA-GB_DFP\\1.2.101 -default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=859fc649e7017fd01769e2187e1537a7 -default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc16\\v1.50\\bin -configurations-xml=f503afea90925cb3391f7656571faaea -com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5db0f4d6bbe0ec2a1f1096ccfb9d7ad3 -default.languagetoolchain.version=1.50 -host.platform=windows -conf.ids=default diff --git a/HW3.X/nbproject/Makefile-impl.mk b/HW3.X/nbproject/Makefile-impl.mk deleted file mode 100644 index 6ddd273..0000000 --- a/HW3.X/nbproject/Makefile-impl.mk +++ /dev/null @@ -1,69 +0,0 @@ -# -# 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=HW3.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/HW3.X/nbproject/Makefile-local-default.mk b/HW3.X/nbproject/Makefile-local-default.mk deleted file mode 100644 index c75d9df..0000000 --- a/HW3.X/nbproject/Makefile-local-default.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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.35/mplab_platform/platform/../mplab_ide/modules/../../bin/ -# Adding MPLAB X bin directory to path. -PATH:=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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.35\sys\java\jre1.8.0_181/bin/" -OS_CURRENT="$(shell uname -s)" -MP_CC="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-gcc.exe" -# MP_CPPC is not defined -# MP_BC is not defined -MP_AS="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-as.exe" -MP_LD="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ld.exe" -MP_AR="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ar.exe" -DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.35/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" -MP_CC_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" -# MP_CPPC_DIR is not defined -# MP_BC_DIR is not defined -MP_AS_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" -MP_LD_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" -MP_AR_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" -# MP_BC_DIR is not defined -DFP_DIR="C:/Program Files (x86)/Microchip/MPLABX/v5.35/packs/Microchip/PIC24F-GA-GB_DFP/1.2.101" diff --git a/HW3.X/nbproject/Makefile-variables.mk b/HW3.X/nbproject/Makefile-variables.mk deleted file mode 100644 index a67eeaf..0000000 --- a/HW3.X/nbproject/Makefile-variables.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Generated - do not edit! -# -# NOCDDL -# -CND_BASEDIR=`pwd` -# default configuration -CND_ARTIFACT_DIR_default=dist/default/production -CND_ARTIFACT_NAME_default=HW3.X.production.hex -CND_ARTIFACT_PATH_default=dist/default/production/HW3.X.production.hex -CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package -CND_PACKAGE_NAME_default=hw3.x.tar -CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/hw3.x.tar diff --git a/HW3.X/nbproject/Package-default.bash b/HW3.X/nbproject/Package-default.bash deleted file mode 100644 index cbe550f..0000000 --- a/HW3.X/nbproject/Package-default.bash +++ /dev/null @@ -1,73 +0,0 @@ -#!/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}/HW3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -OUTPUT_BASENAME=HW3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -PACKAGE_TOP_DIR=hw3.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}/hw3.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/hw3.x.tar -cd ${TMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/hw3.x.tar * -checkReturnCode - -# Cleanup -cd "${TOP}" -rm -rf ${TMPDIR} diff --git a/HW3.X/nbproject/configurations.xml b/HW3.X/nbproject/configurations.xml deleted file mode 100644 index e666306..0000000 --- a/HW3.X/nbproject/configurations.xml +++ /dev/null @@ -1,657 +0,0 @@ - - - - - - - - - strap012_hw3prob2.c - strap012_hw3prob3.c - strap012_hw3prob1.c - - - Makefile - - - - . - - Makefile - - - - localhost - PIC24FJ64GA002 - - - Simulator - XC16 - 1.50 - 3 - - - - - - - - - - - - - false - false - - - - - - - false - - false - - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/HW3.X/nbproject/private/configurations.xml b/HW3.X/nbproject/private/configurations.xml deleted file mode 100644 index 7551fab..0000000 --- a/HW3.X/nbproject/private/configurations.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Makefile - 0 - - - - C:\Program Files\Microchip\xc16\v1.50\bin - - place holder 1 - place holder 2 - - - - - true - 0 - 0 - 0 - - - - - - diff --git a/HW3.X/nbproject/private/private.xml b/HW3.X/nbproject/private/private.xml deleted file mode 100644 index fc10dfb..0000000 --- a/HW3.X/nbproject/private/private.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - file:/C:/Users/Ross/MPLABXProjects/EE2361Projects/HW3.X/int_first_t1.c - - - diff --git a/HW3.X/nbproject/project.xml b/HW3.X/nbproject/project.xml deleted file mode 100644 index be65d21..0000000 --- a/HW3.X/nbproject/project.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - com.microchip.mplab.nbide.embedded.makeproject - - - HW3 - 8463ef2c-cfb9-43df-9b54-21aad4de2c86 - 0 - c - - - - ISO-8859-1 - - - . - - - - default - 2 - - - - false - - - - diff --git a/HW3.X/strap012_hw3prob1.c b/HW3.X/strap012_hw3prob1.c deleted file mode 100644 index dcfd308..0000000 --- a/HW3.X/strap012_hw3prob1.c +++ /dev/null @@ -1,57 +0,0 @@ -#include - -// PIC24FJ64GA002 Configuration Bit Settings -// 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 POSCMOD = NONE // Primary Oscillator Select (Primary oscillator disabled. - // Primary Oscillator refers to an external osc connected to the OSC1 and OSC2 pins) -#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 // OSC2/CLKO/RC15 functions as port I/O (RC15) -#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 unsigned long int msecs = 0; - - -void __attribute__((__interrupt__,__auto_psv__)) _T1Interrupt(void) -{ - IFS0bits.T1IF = 0; - msecs++; -} - -void setup(void) -{ - CLKDIVbits.RCDIV = 0; // make 16MHz - - T1CON = 0; - PR1 = 0xFFFF; - - IFS0bits.T1IF = 0; - IPC0bits.T1IP = 3; - - /* enable Timer 1 interrupt */ - //DISABLE IF POLLING - IEC0bits.T1IE = 1; - - T1CONbits.TON = 1; -} - - -int main(void) -{ - setup(); - while (1) { - //Polling stuff -// while (_T1IF == 0); -// _T1IF = 0; - } -} diff --git a/HW3.X/strap012_hw3prob2.c b/HW3.X/strap012_hw3prob2.c deleted file mode 100644 index 6071e56..0000000 --- a/HW3.X/strap012_hw3prob2.c +++ /dev/null @@ -1,93 +0,0 @@ -#include - -// PIC24FJ64GA002 Configuration Bit Settings -// 'C' source line config statements - -// CONFIG2 -#pragma config POSCMOD = NONE // Primary Oscillator Select (Primary oscillator disabled) -#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 = OFF // Primary Oscillator Output Function (OSC2/CLKO/RC15 functions as CLKO (FOSC/2)) -#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)) -#pragma config SOSCSEL = SOSC // Sec Oscillator Select (Default Secondary Oscillator (SOSC)) -#pragma config WUTSEL = LEG // Wake-up timer Select (Legacy Wake-up Timer) -#pragma config IESO = ON // Internal External Switch Over Mode (IESO mode (Two-Speed Start-up) enabled) - -// CONFIG1 -#pragma config WDTPS = PS32768 // Watchdog Timer Postscaler (1:32,768) -#pragma config FWPSA = PR128 // WDT Prescaler (Prescaler ratio of 1:128) -#pragma config WINDIS = ON // Watchdog Timer Window (Standard Watchdog Timer enabled,(Windowed-mode is disabled)) -#pragma config FWDTEN = OFF // Watchdog Timer Enable (Watchdog Timer is disabled) -#pragma config ICS = PGx1 // Comm Channel Select (Emulator EMUC1/EMUD1 pins are shared with PGC1/PGD1) -#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) - -// This program measures the duty cycle (i.e., duration of a signal being 1) in -// terms of num cycles. -// INT0 pin has the external sig. T1 counts #cycles. -// Both programmed as interrupts. - -volatile unsigned int overflow = 0; -volatile unsigned long int numCycles = 0; // duty cycle in terms of # TCY -volatile unsigned int high = 0, low = 0; - -void __attribute__((__interrupt__,__auto_psv__)) _T1Interrupt(void) -{ - IFS0bits.T1IF = 0; - overflow++; -} - -void __attribute__((__interrupt__,__auto_psv__)) _INT0Interrupt(void) -{ - _INT0IF = 0; - - if (_INT0EP == 0){ // I was waiting for a rising edge - TMR1 = 0; - overflow = 0; - } else { // I was waiting for a falling edge - numCycles = TMR1 + 16000L * overflow; -// TMR1 = 0; // uncomment these two lines if you want the period -// overflow = 0; // and not just active duty cycle. also - // delete the if part, and the last line - // that changes polarity of INT0EP - } - - _INT0EP = 1 - _INT0EP; - -} - -void setup(void) -{ - CLKDIVbits.RCDIV = 0; // make 16MHz - // setup INT0 (RB7) pin as input - AD1PCFG = 0x9fff; - LATBbits.LATB7 = 1; - - T1CON = 0; - PR1 = 15999; - TMR1 = 0; - T1CONbits.TON = 1; - - IFS0bits.T1IF = 0; - //IPC0bits.T1IP = 4; - /* enable Timer 1 interrupt */ - IEC0bits.T1IE = 1; - - _INT0EP = 0; - _INT0IF = 0; - _INT0IE = 1; - -} - - -int main(void) -{ - - setup(); - int edge = 0; - while (1) { - - } -} diff --git a/HW3.X/strap012_hw3prob3.c b/HW3.X/strap012_hw3prob3.c deleted file mode 100644 index 6f3b6b2..0000000 --- a/HW3.X/strap012_hw3prob3.c +++ /dev/null @@ -1,77 +0,0 @@ -#include - -// PIC24FJ64GA002 Configuration Bit Settings - -// CONFIG2 -#pragma config POSCMOD = NONE // Primary Oscillator Select (Primary oscillator disabled) -#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 = OFF // Primary Oscillator Output Function (OSC2/CLKO/RC15 functions as CLKO (FOSC/2)) -#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)) -#pragma config SOSCSEL = SOSC // Sec Oscillator Select (Default Secondary Oscillator (SOSC)) -#pragma config WUTSEL = LEG // Wake-up timer Select (Legacy Wake-up Timer) -#pragma config IESO = ON // Internal External Switch Over Mode (IESO mode (Two-Speed Start-up) enabled) - -// CONFIG1 -#pragma config WDTPS = PS32768 // Watchdog Timer Postscaler (1:32,768) -#pragma config FWPSA = PR128 // WDT Prescaler (Prescaler ratio of 1:128) -#pragma config WINDIS = ON // Watchdog Timer Window (Standard Watchdog Timer enabled,(Windowed-mode is disabled)) -#pragma config FWDTEN = OFF // Watchdog Timer Enable (Watchdog Timer is disabled) -#pragma config ICS = PGx1 // Comm Channel Select (Emulator EMUC1/EMUD1 pins are shared with PGC1/PGD1) -#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) - -// To test: Window > Simulator > Stimulus. Click on the Pin / Register Actions. -// Click on the top row where it says "Click here to add/remove signals", and add IC1 -// (or RB6). Add entries that change the signal to 1 at time 1000, to zero at 1100, and so on. -// You may want to check the checkbox that says "Repeat from action". - -volatile unsigned int dutyCycle = 0; // positive or negative - -void __attribute__((__interrupt__,__auto_psv__)) _IC1Interrupt(void) -{ - static unsigned int last = 0; - unsigned int current; - _IC1IF = 0; - - current = IC1BUF; - if (current > last) - dutyCycle = current - last; - else -// dutyCycle = ((long)(1<<16) + current) - last; - dutyCycle = ((long)(PR3+1) + current) - last; - - last = current; -} - -void setup() -{ - CLKDIVbits.RCDIV = 0; - AD1PCFG = 0x9fff; // For digital I/O. If you want to use analog, you'll - // need to change this. - _TRISB6 = 1; - __builtin_write_OSCCONL(OSCCON & 0xbf); // unlock PPS - _IC1R = 6 ; //IC! <- RB6; See Table 10-2 on P108 of the datasheet - __builtin_write_OSCCONL(OSCCON | 0x40); // lock PPS - - T3CON = 0; - PR3 = 65535; - TMR3 = 0; - _T3IF = 0; - T3CON = 0x8000; - - IC1CON = 1; // every edge - _IC1IF = 0; - _IC1IE = 1; -} - -int main(void) -{ - setup(); - - while (1){ - - } -} diff --git a/Lab 03 Report.txt b/Lab 03 Report.txt new file mode 100644 index 0000000..5fcbf03 --- /dev/null +++ b/Lab 03 Report.txt @@ -0,0 +1,4 @@ +Maya Steele and Matt Strapp +Lab 03 Report + +There were no issues with the display when it was worked on. The main issue we had with the numpad was caused by accidentally writing to a port instead of a latch. After that, it worked. \ No newline at end of file diff --git a/Lab 1.X/Makefile b/Lab 1.X/Makefile deleted file mode 100644 index fca8e2c..0000000 --- a/Lab 1.X/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -# 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/Lab 1.X/nbproject/Makefile-default.mk b/Lab 1.X/nbproject/Makefile-default.mk deleted file mode 100644 index 4010ca7..0000000 --- a/Lab 1.X/nbproject/Makefile-default.mk +++ /dev/null @@ -1,147 +0,0 @@ -# -# 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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -else -IMAGE_TYPE=production -OUTPUT_SUFFIX=hex -DEBUGGABLE_SUFFIX=elf -FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab_1.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= - -# Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED= -POSSIBLE_DEPFILES= - -# Object Files -OBJECTFILES= - -# Source Files -SOURCEFILES= - - - -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}/Lab_1.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) -else -endif - -# ------------------------------------------------------------------------------------ -# Rules for buildStep: assemble -ifeq ($(TYPE_IMAGE), DEBUG_RUN) -else -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}/Lab_1.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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,,$(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}/Lab_1.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}/Lab_1.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}/Lab_1.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/Lab 1.X/nbproject/Makefile-genesis.properties b/Lab 1.X/nbproject/Makefile-genesis.properties deleted file mode 100644 index 2e47b51..0000000 --- a/Lab 1.X/nbproject/Makefile-genesis.properties +++ /dev/null @@ -1,10 +0,0 @@ -# -#Fri Jan 24 11:27:08 CST 2020 -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=505a194a9f6f44b2971a337971781b0e -com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76 -default.languagetoolchain.version=1.41 -host.platform=windows -conf.ids=default diff --git a/Lab 1.X/nbproject/Makefile-impl.mk b/Lab 1.X/nbproject/Makefile-impl.mk deleted file mode 100644 index 855976e..0000000 --- a/Lab 1.X/nbproject/Makefile-impl.mk +++ /dev/null @@ -1,69 +0,0 @@ -# -# 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=Lab 1.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/Lab 1.X/nbproject/Makefile-local-default.mk b/Lab 1.X/nbproject/Makefile-local-default.mk deleted file mode 100644 index 214e7fa..0000000 --- a/Lab 1.X/nbproject/Makefile-local-default.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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/Lab 1.X/nbproject/Makefile-variables.mk b/Lab 1.X/nbproject/Makefile-variables.mk deleted file mode 100644 index e010c49..0000000 --- a/Lab 1.X/nbproject/Makefile-variables.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Generated - do not edit! -# -# NOCDDL -# -CND_BASEDIR=`pwd` -# default configuration -CND_ARTIFACT_DIR_default=dist/default/production -CND_ARTIFACT_NAME_default=Lab_1.X.production.hex -CND_ARTIFACT_PATH_default=dist/default/production/Lab_1.X.production.hex -CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package -CND_PACKAGE_NAME_default=lab1.x.tar -CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab1.x.tar diff --git a/Lab 1.X/nbproject/Package-default.bash b/Lab 1.X/nbproject/Package-default.bash deleted file mode 100644 index c978d30..0000000 --- a/Lab 1.X/nbproject/Package-default.bash +++ /dev/null @@ -1,73 +0,0 @@ -#!/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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -OUTPUT_BASENAME=Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -PACKAGE_TOP_DIR=lab1.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}/lab1.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/lab1.x.tar -cd ${TMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab1.x.tar * -checkReturnCode - -# Cleanup -cd "${TOP}" -rm -rf ${TMPDIR} diff --git a/Lab 1.X/nbproject/configurations.xml b/Lab 1.X/nbproject/configurations.xml deleted file mode 100644 index ce9f288..0000000 --- a/Lab 1.X/nbproject/configurations.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - Makefile - - - Makefile - - - - localhost - PIC24FJ64GA002 - - - - XC16 - 1.41 - 3 - - - - - - - - - - - - - false - false - - - - - - - false - - false - - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Lab 1.X/nbproject/private/configurations.xml b/Lab 1.X/nbproject/private/configurations.xml deleted file mode 100644 index 74e2a26..0000000 --- a/Lab 1.X/nbproject/private/configurations.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Makefile - 0 - - - - C:\Program Files (x86)\Microchip\xc16\v1.41\bin - - place holder 1 - place holder 2 - - - - - true - 0 - 0 - 0 - - - - - - diff --git a/Lab 1.X/nbproject/private/private.xml b/Lab 1.X/nbproject/private/private.xml deleted file mode 100644 index c83239d..0000000 --- a/Lab 1.X/nbproject/private/private.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/Lab 1.X/nbproject/project.xml b/Lab 1.X/nbproject/project.xml deleted file mode 100644 index 23366f5..0000000 --- a/Lab 1.X/nbproject/project.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - com.microchip.mplab.nbide.embedded.makeproject - - - Lab 1 - cb9615f9-ee96-4e87-875e-3f071615637f - 0 - - - - - - - - - default - 2 - - - ISO-8859-1 - - false - - - - diff --git a/Lab 2.X/Lab2A.s b/Lab 2.X/Lab2A.s deleted file mode 100644 index fa35d55..0000000 --- a/Lab 2.X/Lab2A.s +++ /dev/null @@ -1,123 +0,0 @@ - -.include "xc.inc" ; required "boiler-plate" (BP) - -;the next two lines set up the actual chip for operation - required -config __CONFIG2, POSCMOD_EC & I2C1SEL_SEC & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSECME & FNOSC_FRCPLL & SOSCSEL_LPSOSC & WUTSEL_FST & IESO_OFF -config __CONFIG1, WDTPS_PS1 & FWPSA_PR32 & WINDIS_OFF & FWDTEN_OFF & BKBUG_ON & GWRP_ON & GCP_ON & JTAGEN_OFF - - .bss ; put the following labels in RAM -counter: - .space 2 ; a variable that takes two bytes (we won?t use - ; it for now, but put here to make this a generic - ; template to be used later). -stack: - .space 32 ; this will be our stack area, needed for func calls - -.text ; BP (put the following data in ROM(program memory)) - -;because we are using the C compiler to assemble our code, we need a "_main" label -;somewhere. (There's a link step that looks for it.) -.global _main ;BP -;your functions go here - -_main: - - bclr CLKDIV,#8 ;BP - nop - ;; --- Begin your main program below here --- - - - mov #0x9fff,w0 - mov w0,AD1PCFG ; Set all pins to digital mode - mov #0b1111111111111110,w0 - mov w0,TRISA ; set pin RA0 to output - mov #0x0000,w0 - mov w0,LATA ; set pin RA0 low - call delay_100us - call setColor - call foreverLoop - -wait_24cycles: - ; 2 cycles for function call - repeat #17 ; 1 cycle to load and prep - nop ; 17+1 cycles to execute NOP 18 times - return ; 3 cycles for the return - -wait_32cycles: ; 2 - repeat #24 ; 1 - nop ; 25+1 cycles = 26 - return ; 3 - -delay_100us: - repeat #1593 - nop - return - -delay_1ms: - repeat #15993 - nop - return - -write_bit_stream: - call wait_24cycles ; 24 cycles - clr LATA ; set pin RA0 low = 1 cycle - call wait_32cycles ; 32 cycles - inc LATA ; set pin RA0 high = 1 cycle - return - -write_0: ;2 cycles for function call - inc LATA ;1 - repeat #3 ;1 for load - nop ;3+1=4 nop - clr LATA ;1 - repeat #6 ;1 for load - nop ;1+6=7 nop - return ;3 return - - -write_1: ;2 cycle call - inc LATA ;1 - repeat #10;1 load - nop ;1+10=11 nop - clr LATA ;1 - nop ;1 - return ;3 return - -setColor: - ;Set R - call write_1 - call write_1 - call write_1 - call write_1 - call write_1 - call write_1 - call write_1 - call write_1 - ;Set G - call write_1 - call write_0 - call write_0 - call write_1 - call write_1 - call write_0 - call write_1 - call write_1 - ;Set B - call write_0 - call write_0 - call write_0 - call write_0 - call write_0 - call write_0 - call write_0 - call write_0 - - return - -foreverLoop: -; call write_bit_stream - nop - bra foreverLoop - - -.end diff --git a/Lab 2.X/Makefile b/Lab 2.X/Makefile deleted file mode 100644 index fca8e2c..0000000 --- a/Lab 2.X/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -# 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/Lab 2.X/debug/default/defmplabxtrace.log b/Lab 2.X/debug/default/defmplabxtrace.log deleted file mode 100644 index e69de29..0000000 diff --git a/Lab 2.X/debug/default/defmplabxtrace.log.inx b/Lab 2.X/debug/default/defmplabxtrace.log.inx deleted file mode 100644 index 87765a0..0000000 Binary files a/Lab 2.X/debug/default/defmplabxtrace.log.inx and /dev/null differ diff --git a/Lab 2.X/dist/default/debug/memoryfile.xml b/Lab 2.X/dist/default/debug/memoryfile.xml deleted file mode 100644 index a0d099a..0000000 --- a/Lab 2.X/dist/default/debug/memoryfile.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - bytes - 8192 - 34 - 8158 - - - bytes - 65274 - 408 - 64866 - - - diff --git a/Lab 2.X/nbproject/Makefile-default.mk b/Lab 2.X/nbproject/Makefile-default.mk deleted file mode 100644 index 8201bc4..0000000 --- a/Lab 2.X/nbproject/Makefile-default.mk +++ /dev/null @@ -1,161 +0,0 @@ -# -# 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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -else -IMAGE_TYPE=production -OUTPUT_SUFFIX=hex -DEBUGGABLE_SUFFIX=elf -FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab_2.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=Lab2A.s - -# Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Lab2A.o -POSSIBLE_DEPFILES=${OBJECTDIR}/Lab2A.o.d - -# Object Files -OBJECTFILES=${OBJECTDIR}/Lab2A.o - -# Source Files -SOURCEFILES=Lab2A.s - - - -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}/Lab_2.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) -else -endif - -# ------------------------------------------------------------------------------------ -# Rules for buildStep: assemble -ifeq ($(TYPE_IMAGE), DEBUG_RUN) -${OBJECTDIR}/Lab2A.o: Lab2A.s nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/Lab2A.o.d - @${RM} ${OBJECTDIR}/Lab2A.o - ${MP_CC} $(MP_EXTRA_AS_PRE) Lab2A.s -o ${OBJECTDIR}/Lab2A.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/Lab2A.o.d",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_SIMULATOR=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16 - @${FIXDEPS} "${OBJECTDIR}/Lab2A.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -else -${OBJECTDIR}/Lab2A.o: Lab2A.s nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/Lab2A.o.d - @${RM} ${OBJECTDIR}/Lab2A.o - ${MP_CC} $(MP_EXTRA_AS_PRE) Lab2A.s -o ${OBJECTDIR}/Lab2A.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/Lab2A.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16 - @${FIXDEPS} "${OBJECTDIR}/Lab2A.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}/Lab_2.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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_SIMULATOR=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}/Lab_2.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}/Lab_2.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}/Lab_2.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/Lab 2.X/nbproject/Makefile-genesis.properties b/Lab 2.X/nbproject/Makefile-genesis.properties deleted file mode 100644 index 114011e..0000000 --- a/Lab 2.X/nbproject/Makefile-genesis.properties +++ /dev/null @@ -1,10 +0,0 @@ -# -#Tue Feb 04 20:39:57 CST 2020 -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=f6dd7749764a7fe65cc6fad962394637 -com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76 -default.languagetoolchain.version=1.41 -host.platform=windows -conf.ids=default diff --git a/Lab 2.X/nbproject/Makefile-impl.mk b/Lab 2.X/nbproject/Makefile-impl.mk deleted file mode 100644 index d637c96..0000000 --- a/Lab 2.X/nbproject/Makefile-impl.mk +++ /dev/null @@ -1,69 +0,0 @@ -# -# 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=Lab 2.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/Lab 2.X/nbproject/Makefile-local-default.mk b/Lab 2.X/nbproject/Makefile-local-default.mk deleted file mode 100644 index 214e7fa..0000000 --- a/Lab 2.X/nbproject/Makefile-local-default.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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/Lab 2.X/nbproject/Makefile-variables.mk b/Lab 2.X/nbproject/Makefile-variables.mk deleted file mode 100644 index 358d783..0000000 --- a/Lab 2.X/nbproject/Makefile-variables.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Generated - do not edit! -# -# NOCDDL -# -CND_BASEDIR=`pwd` -# default configuration -CND_ARTIFACT_DIR_default=dist/default/production -CND_ARTIFACT_NAME_default=Lab_2.X.production.hex -CND_ARTIFACT_PATH_default=dist/default/production/Lab_2.X.production.hex -CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package -CND_PACKAGE_NAME_default=lab2.x.tar -CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab2.x.tar diff --git a/Lab 2.X/nbproject/Package-default.bash b/Lab 2.X/nbproject/Package-default.bash deleted file mode 100644 index 6270138..0000000 --- a/Lab 2.X/nbproject/Package-default.bash +++ /dev/null @@ -1,73 +0,0 @@ -#!/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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -OUTPUT_BASENAME=Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -PACKAGE_TOP_DIR=lab2.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}/lab2.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/lab2.x.tar -cd ${TMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab2.x.tar * -checkReturnCode - -# Cleanup -cd "${TOP}" -rm -rf ${TMPDIR} diff --git a/Lab 2.X/nbproject/configurations.xml b/Lab 2.X/nbproject/configurations.xml deleted file mode 100644 index d7f4bad..0000000 --- a/Lab 2.X/nbproject/configurations.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - - - Makefile - - Lab2A.s - - Makefile - - - - localhost - PIC24FJ64GA002 - - - Simulator - XC16 - 1.41 - 3 - - - - - - - - - - - - - false - false - - - - - - - false - - false - - false - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Lab 2.X/nbproject/private/configurations.xml b/Lab 2.X/nbproject/private/configurations.xml deleted file mode 100644 index 6220849..0000000 --- a/Lab 2.X/nbproject/private/configurations.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - Makefile - 0 - - - - C:\Program Files (x86)\Microchip\xc16\v1.41\bin - - place holder 1 - place holder 2 - - - - - true - 0 - 0 - 0 - - - - - - diff --git a/Lab 2.X/nbproject/private/private.xml b/Lab 2.X/nbproject/private/private.xml deleted file mode 100644 index 284eeec..0000000 --- a/Lab 2.X/nbproject/private/private.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Lab 2.X/nbproject/project.xml b/Lab 2.X/nbproject/project.xml deleted file mode 100644 index 3d83cc6..0000000 --- a/Lab 2.X/nbproject/project.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - com.microchip.mplab.nbide.embedded.makeproject - - - Lab_2A - a04173f8-bbe6-4995-8b6c-22a146ec3d91 - 0 - - - - - ISO-8859-1 - - - . - - - - default - 2 - - - - false - - - - diff --git a/Lab 3.zip b/Lab 3.zip new file mode 100644 index 0000000..cc546ea Binary files /dev/null and b/Lab 3.zip differ diff --git a/Lab1.X/Makefile b/Lab1.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Lab1.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/Lab1.X/nbproject/Makefile-default.mk b/Lab1.X/nbproject/Makefile-default.mk new file mode 100644 index 0000000..4010ca7 --- /dev/null +++ b/Lab1.X/nbproject/Makefile-default.mk @@ -0,0 +1,147 @@ +# +# 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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab_1.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= + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED= +POSSIBLE_DEPFILES= + +# Object Files +OBJECTFILES= + +# Source Files +SOURCEFILES= + + + +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}/Lab_1.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) +else +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +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}/Lab_1.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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,,$(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}/Lab_1.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}/Lab_1.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}/Lab_1.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/Lab1.X/nbproject/Makefile-genesis.properties b/Lab1.X/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..e5f820b --- /dev/null +++ b/Lab1.X/nbproject/Makefile-genesis.properties @@ -0,0 +1,10 @@ +# +#Fri Jan 24 11:27:08 CST 2020 +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=505a194a9f6f44b2971a337971781b0e +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76 +default.languagetoolchain.version=1.41 +host.platform=windows +conf.ids=default diff --git a/Lab1.X/nbproject/Makefile-impl.mk b/Lab1.X/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..855976e --- /dev/null +++ b/Lab1.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=Lab 1.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/Lab1.X/nbproject/Makefile-local-default.mk b/Lab1.X/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..214e7fa --- /dev/null +++ b/Lab1.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/Lab1.X/nbproject/Makefile-variables.mk b/Lab1.X/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..e010c49 --- /dev/null +++ b/Lab1.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=Lab_1.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/Lab_1.X.production.hex +CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package +CND_PACKAGE_NAME_default=lab1.x.tar +CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab1.x.tar diff --git a/Lab1.X/nbproject/Package-default.bash b/Lab1.X/nbproject/Package-default.bash new file mode 100644 index 0000000..c978d30 --- /dev/null +++ b/Lab1.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}/Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +OUTPUT_BASENAME=Lab_1.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +PACKAGE_TOP_DIR=lab1.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}/lab1.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/lab1.x.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab1.x.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/Lab1.X/nbproject/configurations.xml b/Lab1.X/nbproject/configurations.xml new file mode 100644 index 0000000..8dad956 --- /dev/null +++ b/Lab1.X/nbproject/configurations.xml @@ -0,0 +1,189 @@ + + + + + + + + + + + Makefile + + + Makefile + + + + localhost + PIC24FJ64GA002 + + + + XC16 + 1.41 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lab1.X/nbproject/private/configurations.xml b/Lab1.X/nbproject/private/configurations.xml new file mode 100644 index 0000000..f0a581b --- /dev/null +++ b/Lab1.X/nbproject/private/configurations.xml @@ -0,0 +1,25 @@ + + + Makefile + 0 + + + + C:\Program Files (x86)\Microchip\xc16\v1.41\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/Lab1.X/nbproject/private/private.xml b/Lab1.X/nbproject/private/private.xml new file mode 100644 index 0000000..2eee429 --- /dev/null +++ b/Lab1.X/nbproject/private/private.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Lab1.X/nbproject/project.xml b/Lab1.X/nbproject/project.xml new file mode 100644 index 0000000..59d9045 --- /dev/null +++ b/Lab1.X/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + Lab 1 + cb9615f9-ee96-4e87-875e-3f071615637f + 0 + + + + + + + + + default + 2 + + + ISO-8859-1 + + false + + + + diff --git a/Lab2A.X/Lab2A.s b/Lab2A.X/Lab2A.s new file mode 100644 index 0000000..407def8 --- /dev/null +++ b/Lab2A.X/Lab2A.s @@ -0,0 +1,123 @@ + +.include "xc.inc" ; required "boiler-plate" (BP) + +;the next two lines set up the actual chip for operation - required +config __CONFIG2, POSCMOD_EC & I2C1SEL_SEC & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSECME & FNOSC_FRCPLL & SOSCSEL_LPSOSC & WUTSEL_FST & IESO_OFF +config __CONFIG1, WDTPS_PS1 & FWPSA_PR32 & WINDIS_OFF & FWDTEN_OFF & BKBUG_ON & GWRP_ON & GCP_ON & JTAGEN_OFF + + .bss ; put the following labels in RAM +counter: + .space 2 ; a variable that takes two bytes (we won?t use + ; it for now, but put here to make this a generic + ; template to be used later). +stack: + .space 32 ; this will be our stack area, needed for func calls + +.text ; BP (put the following data in ROM(program memory)) + +;because we are using the C compiler to assemble our code, we need a "_main" label +;somewhere. (There's a link step that looks for it.) +.global _main ;BP +;your functions go here + +_main: + + bclr CLKDIV,#8 ;BP + nop + ;; --- Begin your main program below here --- + + + mov #0x9fff,w0 + mov w0,AD1PCFG ; Set all pins to digital mode + mov #0b1111111111111110,w0 + mov w0,TRISA ; set pin RA0 to output + mov #0x0000,w0 + mov w0,LATA ; set pin RA0 low + call delay_100us + call setColor + call foreverLoop + +wait_24cycles: + ; 2 cycles for function call + repeat #17 ; 1 cycle to load and prep + nop ; 17+1 cycles to execute NOP 18 times + return ; 3 cycles for the return + +wait_32cycles: ; 2 + repeat #24 ; 1 + nop ; 25+1 cycles = 26 + return ; 3 + +delay_100us: + repeat #1593 + nop + return + +delay_1ms: + repeat #15993 + nop + return + +write_bit_stream: + call wait_24cycles ; 24 cycles + clr LATA ; set pin RA0 low = 1 cycle + call wait_32cycles ; 32 cycles + inc LATA ; set pin RA0 high = 1 cycle + return + +write_0: ;2 cycles for function call + inc LATA ;1 + repeat #3 ;1 for load + nop ;3+1=4 nop + clr LATA ;1 + repeat #6 ;1 for load + nop ;1+6=7 nop + return ;3 return + + +write_1: ;2 cycle call + inc LATA ;1 + repeat #10;1 load + nop ;1+10=11 nop + clr LATA ;1 + nop ;1 + return ;3 return + +setColor: + ;Set R + call write_1 + call write_1 + call write_1 + call write_1 + call write_1 + call write_1 + call write_1 + call write_1 + ;Set G + call write_1 + call write_0 + call write_0 + call write_1 + call write_1 + call write_0 + call write_1 + call write_1 + ;Set B + call write_0 + call write_0 + call write_0 + call write_0 + call write_0 + call write_0 + call write_0 + call write_0 + + return + +foreverLoop: +; call write_bit_stream + nop + bra foreverLoop + + +.end diff --git a/Lab2A.X/Makefile b/Lab2A.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Lab2A.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/Lab2A.X/debug/default/defmplabxtrace.log b/Lab2A.X/debug/default/defmplabxtrace.log new file mode 100644 index 0000000..e69de29 diff --git a/Lab2A.X/debug/default/defmplabxtrace.log.inx b/Lab2A.X/debug/default/defmplabxtrace.log.inx new file mode 100644 index 0000000..87765a0 Binary files /dev/null and b/Lab2A.X/debug/default/defmplabxtrace.log.inx differ diff --git a/Lab2A.X/dist/default/debug/memoryfile.xml b/Lab2A.X/dist/default/debug/memoryfile.xml new file mode 100644 index 0000000..2a720f9 --- /dev/null +++ b/Lab2A.X/dist/default/debug/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 34 + 8158 + + + bytes + 65274 + 408 + 64866 + + + diff --git a/Lab2A.X/nbproject/Makefile-default.mk b/Lab2A.X/nbproject/Makefile-default.mk new file mode 100644 index 0000000..8201bc4 --- /dev/null +++ b/Lab2A.X/nbproject/Makefile-default.mk @@ -0,0 +1,161 @@ +# +# 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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab_2.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=Lab2A.s + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/Lab2A.o +POSSIBLE_DEPFILES=${OBJECTDIR}/Lab2A.o.d + +# Object Files +OBJECTFILES=${OBJECTDIR}/Lab2A.o + +# Source Files +SOURCEFILES=Lab2A.s + + + +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}/Lab_2.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) +else +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +${OBJECTDIR}/Lab2A.o: Lab2A.s nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/Lab2A.o.d + @${RM} ${OBJECTDIR}/Lab2A.o + ${MP_CC} $(MP_EXTRA_AS_PRE) Lab2A.s -o ${OBJECTDIR}/Lab2A.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/Lab2A.o.d",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_SIMULATOR=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16 + @${FIXDEPS} "${OBJECTDIR}/Lab2A.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +else +${OBJECTDIR}/Lab2A.o: Lab2A.s nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/Lab2A.o.d + @${RM} ${OBJECTDIR}/Lab2A.o + ${MP_CC} $(MP_EXTRA_AS_PRE) Lab2A.s -o ${OBJECTDIR}/Lab2A.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/Lab2A.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16 + @${FIXDEPS} "${OBJECTDIR}/Lab2A.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}/Lab_2.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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_SIMULATOR=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}/Lab_2.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}/Lab_2.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}/Lab_2.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/Lab2A.X/nbproject/Makefile-genesis.properties b/Lab2A.X/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..114011e --- /dev/null +++ b/Lab2A.X/nbproject/Makefile-genesis.properties @@ -0,0 +1,10 @@ +# +#Tue Feb 04 20:39:57 CST 2020 +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=f6dd7749764a7fe65cc6fad962394637 +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76 +default.languagetoolchain.version=1.41 +host.platform=windows +conf.ids=default diff --git a/Lab2A.X/nbproject/Makefile-impl.mk b/Lab2A.X/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..d637c96 --- /dev/null +++ b/Lab2A.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=Lab 2.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/Lab2A.X/nbproject/Makefile-local-default.mk b/Lab2A.X/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..214e7fa --- /dev/null +++ b/Lab2A.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/Lab2A.X/nbproject/Makefile-variables.mk b/Lab2A.X/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..358d783 --- /dev/null +++ b/Lab2A.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=Lab_2.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/Lab_2.X.production.hex +CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package +CND_PACKAGE_NAME_default=lab2.x.tar +CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab2.x.tar diff --git a/Lab2A.X/nbproject/Package-default.bash b/Lab2A.X/nbproject/Package-default.bash new file mode 100644 index 0000000..6270138 --- /dev/null +++ b/Lab2A.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}/Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +OUTPUT_BASENAME=Lab_2.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +PACKAGE_TOP_DIR=lab2.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}/lab2.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/lab2.x.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab2.x.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/Lab2A.X/nbproject/configurations.xml b/Lab2A.X/nbproject/configurations.xml new file mode 100644 index 0000000..6f98ba3 --- /dev/null +++ b/Lab2A.X/nbproject/configurations.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + Makefile + + Lab2A.s + + Makefile + + + + localhost + PIC24FJ64GA002 + + + Simulator + XC16 + 1.41 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lab2A.X/nbproject/private/configurations.xml b/Lab2A.X/nbproject/private/configurations.xml new file mode 100644 index 0000000..f0a581b --- /dev/null +++ b/Lab2A.X/nbproject/private/configurations.xml @@ -0,0 +1,25 @@ + + + Makefile + 0 + + + + C:\Program Files (x86)\Microchip\xc16\v1.41\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/Lab2A.X/nbproject/private/private.xml b/Lab2A.X/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Lab2A.X/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Lab2A.X/nbproject/project.xml b/Lab2A.X/nbproject/project.xml new file mode 100644 index 0000000..07edd7c --- /dev/null +++ b/Lab2A.X/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + Lab 2 + a04173f8-bbe6-4995-8b6c-22a146ec3d91 + 0 + + + + + ISO-8859-1 + + + + + default + 2 + + + + false + + + + diff --git a/Lab2B.X/Makefile b/Lab2B.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Lab2B.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/Lab2B.X/dist/default/debug/memoryfile.xml b/Lab2B.X/dist/default/debug/memoryfile.xml new file mode 100644 index 0000000..76b7a05 --- /dev/null +++ b/Lab2B.X/dist/default/debug/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 80 + 8112 + + + bytes + 65274 + 1056 + 64218 + + + diff --git a/Lab2B.X/dist/default/production/memoryfile.xml b/Lab2B.X/dist/default/production/memoryfile.xml new file mode 100644 index 0000000..386e890 --- /dev/null +++ b/Lab2B.X/dist/default/production/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 0 + 8192 + + + bytes + 65274 + 1059 + 64215 + + + diff --git a/Lab2B.X/lab2b_asm.s b/Lab2B.X/lab2b_asm.s new file mode 100644 index 0000000..2dfc361 --- /dev/null +++ b/Lab2B.X/lab2b_asm.s @@ -0,0 +1,40 @@ +.include "xc.inc" + +.text ;BP (put the following data in ROM(program memory)) + +; This is a library, thus it can *not* contain a _main function: the C file will +; define main(). However, we +; we will need a .global statement to make available ASM functions to C code. +; All functions utilized outside of this file will need to have a leading +; underscore (_) and be included in a comment delimited list below. +.global _write_0, _write_1, _wait_100us, _wait_1ms + +_wait_100us: + repeat #1593 + nop + return + +_wait_1ms: + repeat #15993 + nop + return + +_write_0: ;2 cycles for function call + inc LATA ;1 + repeat #2 ;1 for load + nop ;2+1=3 nop + clr LATA ;1 + repeat #6 ;1 for load + nop ;1+6=7 nop + return ;3 return + + +_write_1: ;2 cycle call + inc LATA ;1 + repeat #8 ;1 load + nop ;1+9=10 nop + clr LATA ;1 + nop ;1 + nop ;1 + return ;3 return + \ No newline at end of file diff --git a/Lab2B.X/lab2b_c.c b/Lab2B.X/lab2b_c.c new file mode 100644 index 0000000..c8f62b8 --- /dev/null +++ b/Lab2B.X/lab2b_c.c @@ -0,0 +1,153 @@ +#include "xc.h" +#include "lab2b_header.h" +#include "stdint.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)) +#define PERIOD 30 + +//DEFINTIONS +void writeColor(int r, int g, int b); +void loop(void); +void delay(int delay_in_ms); +uint32_t packColor(unsigned char Red, unsigned char Grn, unsigned char Blu); +unsigned char getR(uint32_t RGBval); +unsigned char getG(uint32_t RGBval); +unsigned char getB(uint32_t RGBval); +void writePacCol(uint32_t PackedColor); +uint32_t Wheel(unsigned char WheelPos); + +void setup(void) { + CLKDIVbits.RCDIV = 0; //Set RCDIV=1:1 (default 2:1) 32MHz or FCY/2=16M + AD1PCFG = 0x9fff; + TRISA = 0b1111111111111110; + TRISB = 0x0000; + wait_1ms(); +} + +int main(void) { + setup(); + wait_100us(); + loop(); + return 0; +} + +void loop(void) { + while (1) { +// LATA = 0x0000; +// wait_100us(); +// +// //RED +// write_1(); +// write_1(); +// write_1(); +// write_1(); +// +// write_1(); +// write_1(); +// write_1(); +// write_1(); +// +// //GREEN +// write_1(); +// write_0(); +// write_0(); +// write_1(); +// +// write_1(); +// write_0(); +// write_1(); +// write_1(); +// +// //BLUE +// write_0(); +// write_0(); +// write_0(); +// write_0(); +// +// write_0(); +// write_0(); +// write_0(); +// write_0(); +/* + writeColor(255, 155, 000); +*/ + int byteFrameNumber = 0; + while (byteFrameNumber <= 255) { +// // COLOR GRADIENT +// writeColor(byteFrameNumber, 0 , 255 - byteFrameNumber); + + //COLOR WHEEL + writePacCol(Wheel(byteFrameNumber)); + delay(PERIOD); + byteFrameNumber++; + } + } +} + +void writeColor(int r, int g, int b) { + write_0(); + wait_100us(); + int i; + for(i = 7; i >= 0; i--) { + r & (1 << i) ? write_1() : write_0(); + } + for(i = 7; i >= 0; i--) { + g & (1 << i) ? write_1() : write_0(); + } + for(i = 7; i >= 0; i--) { + b & (1 << i) ? write_1() : write_0(); + } +} + +void delay(int delay_in_ms) { + int i; + for (i = 0; i < delay_in_ms; i++) { + wait_1ms(); + } +} + +uint32_t packColor(unsigned char Red, unsigned char Grn, unsigned char Blu) { + return ((long) Red << 16) | ((long) Grn << 8) | ((long) Blu); +} + +unsigned char getR(uint32_t RGBval) { + return (unsigned char) (RGBval >> 16); +} +unsigned char getG(uint32_t RGBval) { + return (unsigned char) (RGBval >> 8 ); +} +unsigned char getB(uint32_t RGBval) { + return (unsigned char) (RGBval >> 0 ); +} + +void writePacCol(uint32_t PackedColor) { + writeColor(getR(PackedColor), getG(PackedColor), getB(PackedColor)); +} + +uint32_t Wheel(unsigned char WheelPos) { +// Input a value 0 to 255 to get a color value. +// The colours are a transition r - g - b - back to r. + WheelPos = 255 - WheelPos; + if(WheelPos < 85) { + return packColor(255 - WheelPos * 3, 0, WheelPos * 3); + } + if(WheelPos < 170) { + WheelPos -= 85; + return packColor(0, WheelPos * 3, 255 - WheelPos * 3); + } + WheelPos -= 170; + return packColor(WheelPos * 3, 255 - WheelPos * 3, 0); +} \ No newline at end of file diff --git a/Lab2B.X/lab2b_header.h b/Lab2B.X/lab2b_header.h new file mode 100644 index 0000000..d53f522 --- /dev/null +++ b/Lab2B.X/lab2b_header.h @@ -0,0 +1,15 @@ +#ifndef LAB2B_ASM +#define LAB2B_ASM + +#ifdef __cplusplus +extern "C" { +#endif +void wait_100us(void); +void wait_1ms(void); +void write_0(void); +void write_1(void); +#ifdef __cplusplus +} +#endif + +#endif /* LAB2B_ASM */ \ No newline at end of file diff --git a/Lab2B.X/nbproject/Makefile-default.mk b/Lab2B.X/nbproject/Makefile-default.mk new file mode 100644 index 0000000..27dc4d4 --- /dev/null +++ b/Lab2B.X/nbproject/Makefile-default.mk @@ -0,0 +1,175 @@ +# +# 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}/Lab2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab2B.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=lab2b_asm.s lab2b_c.c + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lab2b_asm.o ${OBJECTDIR}/lab2b_c.o +POSSIBLE_DEPFILES=${OBJECTDIR}/lab2b_asm.o.d ${OBJECTDIR}/lab2b_c.o.d + +# Object Files +OBJECTFILES=${OBJECTDIR}/lab2b_asm.o ${OBJECTDIR}/lab2b_c.o + +# Source Files +SOURCEFILES=lab2b_asm.s lab2b_c.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}/Lab2B.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}/lab2b_c.o: lab2b_c.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab2b_c.o.d + @${RM} ${OBJECTDIR}/lab2b_c.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab2b_c.c -o ${OBJECTDIR}/lab2b_c.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab2b_c.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 + @${FIXDEPS} "${OBJECTDIR}/lab2b_c.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +else +${OBJECTDIR}/lab2b_c.o: lab2b_c.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab2b_c.o.d + @${RM} ${OBJECTDIR}/lab2b_c.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab2b_c.c -o ${OBJECTDIR}/lab2b_c.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab2b_c.o.d" -g -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off + @${FIXDEPS} "${OBJECTDIR}/lab2b_c.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +${OBJECTDIR}/lab2b_asm.o: lab2b_asm.s nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab2b_asm.o.d + @${RM} ${OBJECTDIR}/lab2b_asm.o + ${MP_CC} $(MP_EXTRA_AS_PRE) lab2b_asm.s -o ${OBJECTDIR}/lab2b_asm.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/lab2b_asm.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) + @${FIXDEPS} "${OBJECTDIR}/lab2b_asm.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +else +${OBJECTDIR}/lab2b_asm.o: lab2b_asm.s nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab2b_asm.o.d + @${RM} ${OBJECTDIR}/lab2b_asm.o + ${MP_CC} $(MP_EXTRA_AS_PRE) lab2b_asm.s -o ${OBJECTDIR}/lab2b_asm.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/lab2b_asm.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST) + @${FIXDEPS} "${OBJECTDIR}/lab2b_asm.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}/Lab2B.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}/Lab2B.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) + +else +dist/${CND_CONF}/${IMAGE_TYPE}/Lab2B.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}/Lab2B.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) + ${MP_CC_DIR}\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/Lab2B.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a -omf=elf + +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/Lab2B.X/nbproject/Makefile-genesis.properties b/Lab2B.X/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..6900e22 --- /dev/null +++ b/Lab2B.X/nbproject/Makefile-genesis.properties @@ -0,0 +1,10 @@ +# +#Wed Apr 08 11:00:01 CDT 2020 +default.Pack.dfplocation= +default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=859fc649e7017fd01769e2187e1537a7 +default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc16\\v1.50\\bin +configurations-xml=e601777007ceef34a0de9288bb063c9a +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5db0f4d6bbe0ec2a1f1096ccfb9d7ad3 +default.languagetoolchain.version=1.50 +host.platform=windows +conf.ids=default diff --git a/Lab2B.X/nbproject/Makefile-impl.mk b/Lab2B.X/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..58626eb --- /dev/null +++ b/Lab2B.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=Lab2B.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/Lab2B.X/nbproject/Makefile-local-default.mk b/Lab2B.X/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..bb871de --- /dev/null +++ b/Lab2B.X/nbproject/Makefile-local-default.mk @@ -0,0 +1,37 @@ +# +# 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.35/mplab_platform/platform/../mplab_ide/modules/../../bin/ +# Adding MPLAB X bin directory to path. +PATH:=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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.35\sys\java\jre1.8.0_181/bin/" +OS_CURRENT="$(shell uname -s)" +MP_CC="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-gcc.exe" +# MP_CPPC is not defined +# MP_BC is not defined +MP_AS="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-as.exe" +MP_LD="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ld.exe" +MP_AR="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ar.exe" +DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.35/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_CPPC_DIR is not defined +# MP_BC_DIR is not defined +MP_AS_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_LD_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_AR_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_BC_DIR is not defined diff --git a/Lab2B.X/nbproject/Makefile-variables.mk b/Lab2B.X/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..aaa6f9f --- /dev/null +++ b/Lab2B.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=Lab2B.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/Lab2B.X.production.hex +CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package +CND_PACKAGE_NAME_default=lab2b.x.tar +CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab2b.x.tar diff --git a/Lab2B.X/nbproject/Package-default.bash b/Lab2B.X/nbproject/Package-default.bash new file mode 100644 index 0000000..ab6b25e --- /dev/null +++ b/Lab2B.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}/Lab2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +OUTPUT_BASENAME=Lab2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +PACKAGE_TOP_DIR=lab2b.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}/lab2b.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/lab2b.x.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab2b.x.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/Lab2B.X/nbproject/configurations.xml b/Lab2B.X/nbproject/configurations.xml new file mode 100644 index 0000000..5998fec --- /dev/null +++ b/Lab2B.X/nbproject/configurations.xml @@ -0,0 +1,198 @@ + + + + + + + + + lab2b_asm.s + lab2b_header.h + lab2b_c.c + + + Makefile + + + + . + + Makefile + + + + localhost + PIC24FJ64GA002 + + + PK3OBPlatformTool + XC16 + 1.50 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lab2B.X/nbproject/private/configurations.xml b/Lab2B.X/nbproject/private/configurations.xml new file mode 100644 index 0000000..099de7b --- /dev/null +++ b/Lab2B.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>DA63CA1:=<drv>x:=<xpt>h:=end + C:\Program Files\Microchip\xc16\v1.50\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/Lab2B.X/nbproject/private/private.xml b/Lab2B.X/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Lab2B.X/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Lab2B.X/nbproject/project.xml b/Lab2B.X/nbproject/project.xml new file mode 100644 index 0000000..254719f --- /dev/null +++ b/Lab2B.X/nbproject/project.xml @@ -0,0 +1,32 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + LAB_2B + ad7fe9ed-f02a-439c-9233-24f02477fa64 + 0 + c + + h + + ISO-8859-1 + + + . + + + + default + 2 + + + + false + + + + colours + + + diff --git a/Lab3.X/display.c b/Lab3.X/display.c index d456b49..90690e5 100644 --- a/Lab3.X/display.c +++ b/Lab3.X/display.c @@ -11,60 +11,47 @@ void init7seg(void) { LATB = 0x0000; //and all of port B to LOW } -void showChar7seg(char myChar, enum DIGIT myDigit) { - LATB &= 0x00; - switch (myChar) { - case '0': - LATB ^= (0b11 << 2); - break; - case '1': - LATB ^= (0b10011111 << 2); - break; - case '2': - LATB ^= (0b00100101 << 2); - break; - case '3': - LATB ^= (0b1101 << 2); - break; - case '4': - LATB ^= (0b10011001 << 2); - break; - case '5': - LATB ^= (0b1001001 << 2); - break; - case '6': - LATB ^= (0b1000001 << 2); - break; - case '7': - LATB ^= (0b11111 << 2); - break; - case '8': - LATB ^= (0b1 << 2); - break; - case '9': - LATB ^= (0b1001 << 2); - break; - case 'A': - LATB ^= (0b10001 << 2); - break; - case 'b': - LATB ^= (0b11000001 << 2); - break; - case 'C': - LATB ^= (0b01100011 << 2); - break; - case 'd': - LATB ^= (0b10000101 << 2); - break; - case 'E': - LATB ^= (0b01100001 << 2); - break; - case 'F': - LATB ^= (0b01110001 << 2); - break; - default: - LATB ^= (0b11111111 << 2); - break; - } //END OF SWITCH - LATB |= myDigit; +void showChar7seg(char myChar, int myDigit) +{ + //1,2,3,4,5,6,7,8,9,0,A,b,C,d,E, and F + LATB&=0xF000; + if (myDigit==1) + { + if (myChar=='1'){LATB|=0x067F;} + else if (myChar=='2'){LATB|=0x0497;} + else if (myChar=='3'){LATB|=0x0437;} + else if (myChar=='4'){LATB|=0x0667;} + else if (myChar=='5'){LATB|=0x0527;} + else if (myChar=='6'){LATB|=0x0507;} + else if (myChar=='7'){LATB|=0x047F;} + else if (myChar=='8'){LATB|=0x0407;} + else if (myChar=='9'){LATB|=0x0427;} + else if (myChar=='0'){LATB|=0x040F;} + else if (myChar=='A'){LATB|=0x0447;} + else if (myChar=='b'){LATB|=0x0707;} + else if (myChar=='C'){LATB|=0x058F;} + else if (myChar=='d'){LATB|=0x0617;} + else if (myChar=='E'){LATB|=0x0587;} + else if (myChar=='F'){LATB|=0x05C7;} + } + else if (myDigit==0) + { + if (myChar=='1'){LATB|=0x0A7F;} + else if (myChar=='2'){LATB|=0x0897;} + else if (myChar=='3'){LATB|=0x0837;} + else if (myChar=='4'){LATB|=0x0A67;} + else if (myChar=='5'){LATB|=0x0927;} + else if (myChar=='6'){LATB|=0x0907;} + else if (myChar=='7'){LATB|=0x087F;} + else if (myChar=='8'){LATB|=0x0807;} + else if (myChar=='9'){LATB|=0x0827;} + else if (myChar=='0'){LATB|=0x080F;} + else if (myChar=='A'){LATB|=0x0847;} + else if (myChar=='b'){LATB|=0x0B07;} + else if (myChar=='C'){LATB|=0x098F;} + else if (myChar=='d'){LATB|=0x0A17;} + else if (myChar=='E'){LATB|=0x0987;} + else if (myChar=='F'){LATB|=0x09C7;} + } + return; } \ No newline at end of file diff --git a/Lab3.X/display.h b/Lab3.X/display.h index 893eea1..147536d 100644 --- a/Lab3.X/display.h +++ b/Lab3.X/display.h @@ -14,7 +14,7 @@ extern "C" { LSB = (0b1 << 10) }; void init7seg(void); - void showChar7seg(char myChar, enum DIGIT myDigit); + void showChar7seg(char myChar, int myDigit); void delay(long num); #ifdef __cplusplus diff --git a/Lab3.X/dist/default/production/memoryfile.xml b/Lab3.X/dist/default/production/memoryfile.xml index 508df7f..316ead1 100644 --- a/Lab3.X/dist/default/production/memoryfile.xml +++ b/Lab3.X/dist/default/production/memoryfile.xml @@ -11,8 +11,8 @@ bytes 65274 - 2034 - 63240 + 2481 + 62793 diff --git a/Lab3.X/lab3_main.c b/Lab3.X/lab3_main.c new file mode 100644 index 0000000..051b2c1 --- /dev/null +++ b/Lab3.X/lab3_main.c @@ -0,0 +1,63 @@ +#include "xc.h" +#include "numpad.h" +#include "display.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)) + +#define NOKEY 255 + +void delay(long d) { + for (d=d; d > 0; d--) { + asm("nop"); + } +} + + + +//============================================================================// + +int main(void) { + init7seg(); + initKeyPad(); + char key='N'; + char right, left; + int debounce=250; + //RB<9:2> will drive the cathodes of the seven-segment display + //RB<11:10> will drive the right and left anodes respectively + //RA<3:0> will drive inputs of keypad + //RB<15:12> will cycle to sense RA inputs + while(1) + { + if (debounce==0) + { + key=cycle(); + if (key!='N') + { + left=right; + right=key; + } + debounce=250; + } + showChar7seg(right,0); + delay(500); + showChar7seg(left,1); + delay(200); + debounce--; + while (!IFS0bits.T1IF) ; + IFS0bits.T1IF = 0; + } +} \ No newline at end of file diff --git a/Lab3.X/lab3_main_MAYA_C.c b/Lab3.X/lab3_main_MAYA_C.c deleted file mode 100644 index a943ae2..0000000 --- a/Lab3.X/lab3_main_MAYA_C.c +++ /dev/null @@ -1,96 +0,0 @@ -#include "xc.h" -#include "numpad.h" -#include "display.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)) - -#define NOKEY 255 - -void delay(long d) { - for (d=d; d > 0; d--) { - asm("nop"); - } -} -char cycle(); - - -//============================================================================// - -int main(void) { - init7seg(); - initKeyPad(); - char key = 'N'; - char right, left; - int debounce = 250; - //RB<9:2> will drive the cathodes of the seven-segment display - //RB<11:10> will drive the right and left anodes respectively - //RA<3:0> will drive inputs of keypad - //RB<15:12> will cycle to sense RA inputs - while (1) { - if (debounce == 0) { - key = cycle(); - if (key != 'N') { - left = right; - right = key; - } - debounce = 250; - } - - showChar7seg(right, MSB); - delay(500); - showChar7seg(left, LSB); - delay(200); - - debounce--; -// while (!IFS0bits.T1IF); -// IFS0bits.T1IF = 0; - } -} - -char cycle() { - int i = 0; - char key = 'N'; - while (i < 4) { - if (i == 0) { - LATBbits.LATB12 = 0; - LATBbits.LATB13 = 1; - LATBbits.LATB14 = 1; - LATBbits.LATB15 = 1; - } else if (i == 1) { - LATBbits.LATB12 = 1; - LATBbits.LATB13 = 0; - LATBbits.LATB14 = 1; - LATBbits.LATB15 = 1; - } else if (i == 2) { - LATBbits.LATB12 = 1; - LATBbits.LATB13 = 1; - LATBbits.LATB14 = 0; - LATBbits.LATB15 = 1; - } else if (i == 3) { - LATBbits.LATB12 = 1; - LATBbits.LATB13 = 1; - LATBbits.LATB14 = 1; - LATBbits.LATB15 = 0; - } - key = readKeyPadRAW(); - if (key != 'N') { - return key; - } - i++; - } - return key; -} \ No newline at end of file diff --git a/Lab3.X/lab3_main_c.BAK b/Lab3.X/lab3_main_c.BAK new file mode 100644 index 0000000..513bd8f --- /dev/null +++ b/Lab3.X/lab3_main_c.BAK @@ -0,0 +1,59 @@ +#include "xc.h" +#include "display.h" +#include "numpad.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)) + +void delay(long n) { + for (n = n; n > 0; n--) { + asm("nop"); + } +} + +void setup(void) { + CLKDIVbits.RCDIV = 0; //Set RCDIV=1:1 (default 2:1) 32MHz or FCY/2=16M + AD1PCFG = 0x9fff; //sets all pins to digital I/O + // T1CON = 0; + // PR1 = 15999; + // TMR1 = 0; + // IFS0bits.T1IF = 0; + // T1CONbits.TON = 1; + init7seg(); + initKeyPad(); +} + +int main(void) { + setup(); + char right, left, temp; + unsigned long debounce = 0; + while (1) { + if (debounce % 300 == 0) + temp = readKeyPadRAW(); + else + temp = '\0'; + if (temp != '\0') { + left = right; + right = temp; + } + showChar7seg(right, MSB); + delay(200); + showChar7seg(left, LSB); + delay(200); + debounce++; + } +} + + diff --git a/Lab3.X/lab3_main_c.c b/Lab3.X/lab3_main_c.c deleted file mode 100644 index bf99269..0000000 --- a/Lab3.X/lab3_main_c.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "xc.h" -#include "display.h" -#include "numpad.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)) - -void delay(long n) { - for (n = n; n > 0; n--) { - asm("nop"); - } -} - -void setup(void) { - CLKDIVbits.RCDIV = 0; //Set RCDIV=1:1 (default 2:1) 32MHz or FCY/2=16M - AD1PCFG = 0x9fff; //sets all pins to digital I/O - // T1CON = 0; - // PR1 = 15999; - // TMR1 = 0; - // IFS0bits.T1IF = 0; - // T1CONbits.TON = 1; - init7seg(); - initKeyPad(); -} - -int main(void) { - setup(); - char right, left, temp; - unsigned long debounce = 0; - while (1) { - if (debounce % 300 == 0) - temp = readKeyPadRAW(); - else - temp = '\0'; - if (temp != '\0') { - left = right; - right = temp; - } - showChar7seg(right, MSB); - delay(200); - showChar7seg(left, LSB); - delay(200); - debounce++; - } -} - - diff --git a/Lab3.X/nbproject/Makefile-default.mk b/Lab3.X/nbproject/Makefile-default.mk index 7c32e70..5e07efe 100644 --- a/Lab3.X/nbproject/Makefile-default.mk +++ b/Lab3.X/nbproject/Makefile-default.mk @@ -99,21 +99,21 @@ ${OBJECTDIR}/display.o: display.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} "${OBJECTDIR}" @${RM} ${OBJECTDIR}/display.o.d @${RM} ${OBJECTDIR}/display.o - ${MP_CC} $(MP_EXTRA_CC_PRE) display.c -o ${OBJECTDIR}/display.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/display.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 + ${MP_CC} $(MP_EXTRA_CC_PRE) display.c -o ${OBJECTDIR}/display.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/display.o.d" -g -D__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 @${FIXDEPS} "${OBJECTDIR}/display.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ ${OBJECTDIR}/numpad.o: numpad.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} "${OBJECTDIR}" @${RM} ${OBJECTDIR}/numpad.o.d @${RM} ${OBJECTDIR}/numpad.o - ${MP_CC} $(MP_EXTRA_CC_PRE) numpad.c -o ${OBJECTDIR}/numpad.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/numpad.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 + ${MP_CC} $(MP_EXTRA_CC_PRE) numpad.c -o ${OBJECTDIR}/numpad.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/numpad.o.d" -g -D__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 @${FIXDEPS} "${OBJECTDIR}/numpad.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ ${OBJECTDIR}/lab3_main_MAYA_C.o: lab3_main_MAYA_C.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} "${OBJECTDIR}" @${RM} ${OBJECTDIR}/lab3_main_MAYA_C.o.d @${RM} ${OBJECTDIR}/lab3_main_MAYA_C.o - ${MP_CC} $(MP_EXTRA_CC_PRE) lab3_main_MAYA_C.c -o ${OBJECTDIR}/lab3_main_MAYA_C.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab3_main_MAYA_C.o.d" -g -D__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 + ${MP_CC} $(MP_EXTRA_CC_PRE) lab3_main_MAYA_C.c -o ${OBJECTDIR}/lab3_main_MAYA_C.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab3_main_MAYA_C.o.d" -g -D__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -O0 -msmart-io=1 -Wall -msfr-warn=off -mdfp=${DFP_DIR}/xc16 @${FIXDEPS} "${OBJECTDIR}/lab3_main_MAYA_C.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ else @@ -157,7 +157,7 @@ endif ifeq ($(TYPE_IMAGE), DEBUG_RUN) dist/${CND_CONF}/${IMAGE_TYPE}/Lab3.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}/Lab3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_SIMULATOR=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_SIMULATOR=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} $(MP_EXTRA_LD_PRE) -o dist/${CND_CONF}/${IMAGE_TYPE}/Lab3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG=__DEBUG -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc $(COMPARISON_BUILD) -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,,$(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}/Lab3.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk diff --git a/Lab3.X/nbproject/Makefile-genesis.properties b/Lab3.X/nbproject/Makefile-genesis.properties index babf995..15e41fa 100644 --- a/Lab3.X/nbproject/Makefile-genesis.properties +++ b/Lab3.X/nbproject/Makefile-genesis.properties @@ -1,10 +1,10 @@ # -#Fri Feb 28 11:09:32 CST 2020 -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=a484db181b70bf7bdb9ff81073d3f011 -com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=7cd2eead2ea6964989cbf02efe721a76 -default.languagetoolchain.version=1.41 +#Tue Mar 03 07:32:39 CST 2020 +default.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.35\\packs\\Microchip\\PIC24F-GA-GB_DFP\\1.2.101 +default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=859fc649e7017fd01769e2187e1537a7 +default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc16\\v1.50\\bin +configurations-xml=2b078e482191bd07283c6043c6ed5e8a +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5db0f4d6bbe0ec2a1f1096ccfb9d7ad3 +default.languagetoolchain.version=1.50 host.platform=windows conf.ids=default diff --git a/Lab3.X/nbproject/Makefile-local-default.mk b/Lab3.X/nbproject/Makefile-local-default.mk index 214e7fa..c75d9df 100644 --- a/Lab3.X/nbproject/Makefile-local-default.mk +++ b/Lab3.X/nbproject/Makefile-local-default.mk @@ -15,24 +15,24 @@ # $ 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/ +PATH_TO_IDE_BIN=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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:=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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/" +MP_JAVA_PATH="C:\Program Files (x86)\Microchip\MPLABX\v5.35\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_CC="C:\Program Files\Microchip\xc16\v1.50\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_AS="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-as.exe" +MP_LD="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ld.exe" +MP_AR="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ar.exe" +DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.35/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="C:\Program Files\Microchip\xc16\v1.50\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_AS_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_LD_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_AR_DIR="C:\Program Files\Microchip\xc16\v1.50\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" +DFP_DIR="C:/Program Files (x86)/Microchip/MPLABX/v5.35/packs/Microchip/PIC24F-GA-GB_DFP/1.2.101" diff --git a/Lab3.X/nbproject/configurations.xml b/Lab3.X/nbproject/configurations.xml index fa82250..8048554 100644 --- a/Lab3.X/nbproject/configurations.xml +++ b/Lab3.X/nbproject/configurations.xml @@ -14,7 +14,6 @@ - lab3_main_c.c display.c numpad.c lab3_main_MAYA_C.c @@ -36,13 +35,13 @@ PIC24FJ64GA002 - Simulator + noID XC16 - 1.41 + 1.50 3 - + @@ -187,6 +186,7 @@ + @@ -647,8 +647,6 @@ value=""/> - - diff --git a/Lab3.X/nbproject/private/configurations.xml b/Lab3.X/nbproject/private/configurations.xml index 74e2a26..0e3b9d3 100644 --- a/Lab3.X/nbproject/private/configurations.xml +++ b/Lab3.X/nbproject/private/configurations.xml @@ -4,8 +4,8 @@ 0 - - C:\Program Files (x86)\Microchip\xc16\v1.41\bin + noToolString + C:\Program Files\Microchip\xc16\v1.50\bin place holder 1 place holder 2 diff --git a/Lab3.X/nbproject/private/private.xml b/Lab3.X/nbproject/private/private.xml index d82f0d3..284eeec 100644 --- a/Lab3.X/nbproject/private/private.xml +++ b/Lab3.X/nbproject/private/private.xml @@ -2,12 +2,6 @@ - - file:/C:/Users/MSatt/MPLABXProjects/EE2361Projects/Lab3.X/numpad.h - file:/C:/Users/MSatt/MPLABXProjects/EE2361Projects/Lab3.X/lab3_main_c.c - file:/C:/Users/MSatt/MPLABXProjects/EE2361Projects/Lab3.X/display.c - file:/C:/Users/MSatt/MPLABXProjects/EE2361Projects/Lab3.X/numpad.c - file:/C:/Users/MSatt/MPLABXProjects/EE2361Projects/Lab3.X/display.h - + diff --git a/Lab3.X/nbproject/project.xml b/Lab3.X/nbproject/project.xml index 8f58032..2bc22c2 100644 --- a/Lab3.X/nbproject/project.xml +++ b/Lab3.X/nbproject/project.xml @@ -4,7 +4,7 @@ Lab3 - 87ceaaaa-2d11-4659-ab7c-7b12fe00629e + f5ffe4b4-9434-45bc-b3dd-3537d7df4a93 0 c diff --git a/Lab3.X/numpad.c b/Lab3.X/numpad.c index 5d9f0ce..825d476 100644 --- a/Lab3.X/numpad.c +++ b/Lab3.X/numpad.c @@ -1,5 +1,5 @@ #include "xc.h" - +#include "numpad.h" void initKeyPad(void) { AD1PCFG = 0x9fff; //sets all pins to digital I/O TRISA = 0b0000000000011111; //set port A to inputs, @@ -10,11 +10,11 @@ void initKeyPad(void) { CNPU1bits.CN3PUE = 1; //RA1 CNPU2bits.CN30PUE = 1; //RA2 CNPU2bits.CN29PUE = 1; //RA3 -// T1CON = 0; -// PR1 = 15999; -// TMR1 = 0; -// IFS0bits.T1IF = 0; -// T1CONbits.TON = 1; + T1CON = 0; + PR1 = 15999; + TMR1 = 0; + IFS0bits.T1IF = 0; + T1CONbits.TON = 1; } void padDelay(long n) { @@ -24,6 +24,39 @@ void padDelay(long n) { } // 1 2 3 4 5 6 7 8 // RA0 RA1 RA2 RA3 RB15 RB14 RB13 RB12 +char cycle() { + int i = 0; + char key = 'N'; + while (i < 4) { + if (i == 0) { + LATBbits.LATB12 = 0; + LATBbits.LATB13 = 1; + LATBbits.LATB14 = 1; + LATBbits.LATB15 = 1; + } else if (i == 1) { + LATBbits.LATB12 = 1; + LATBbits.LATB13 = 0; + LATBbits.LATB14 = 1; + LATBbits.LATB15 = 1; + } else if (i == 2) { + LATBbits.LATB12 = 1; + LATBbits.LATB13 = 1; + LATBbits.LATB14 = 0; + LATBbits.LATB15 = 1; + } else if (i == 3) { + LATBbits.LATB12 = 1; + LATBbits.LATB13 = 1; + LATBbits.LATB14 = 1; + LATBbits.LATB15 = 0; + } + key = readKeyPadRAW(); + if (key != 'N') { + return key; + } + i++; + } + return key; +} char readKeyPadRAW(void) { if ((PORTAbits.RA0 || LATBbits.LATB12) == 0) { diff --git a/Lab3.X/numpad.h b/Lab3.X/numpad.h index 057ee69..fe3f724 100644 --- a/Lab3.X/numpad.h +++ b/Lab3.X/numpad.h @@ -10,6 +10,7 @@ extern "C" { // Insert declarations void initKeyPad(void); char readKeyPadRAW(void); + char cycle(); #ifdef __cplusplus } diff --git a/Lab4.X/Lab4 Report.pdf b/Lab4.X/Lab4 Report.pdf new file mode 100644 index 0000000..1dec1eb Binary files /dev/null and b/Lab4.X/Lab4 Report.pdf differ diff --git a/Lab4.X/Makefile b/Lab4.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Lab4.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/Lab4.X/MyConfig.mc3 b/Lab4.X/MyConfig.mc3 new file mode 100644 index 0000000..be6f5cf --- /dev/null +++ b/Lab4.X/MyConfig.mc3 @@ -0,0 +1,3859 @@ + + + + System Module + class com.microchip.mcc.mcu16.systemManager.DefaultSystemManagerMcu16 + + + Main Manager + class com.microchip.mcc.mcu16.mainManager.MainManager + + + JTAG + class com.microchip.mcc.mcu16.systemManager.jtag.JTAG + + + INTERNAL OSCILLATOR + class com.microchip.mcc.mcu16.systemManager.clk.Clock + + + WATCHDOG + class com.microchip.mcc.mcu16.systemManager.wdt.Wdt + + + Pin Module + class com.microchip.mcc.mcu16.pinManager.PinManager + + + RESET + class com.microchip.mcc.mcu16.systemManager.reset.RESET + + + ICD + class com.microchip.mcc.mcu16.systemManager.icd.Icd + + + Interrupt Module + class com.microchip.mcc.mcu16.interruptManager.InterruptManager + + + com.microchip.mcc.mcu16.Mcu16PeripheralLibraryLibraryModule + class com.microchip.mcc.protocolServices.base.modules.librarymodule.LibraryModule + + + + + + + + + clear + + + + analog + + + + 1 + + + + UNSUPPORTED + + + + input + + + + 0 + + + + 0 + + + + disabled + + + + 1 + + + + enabled + + + + 2 + + + + disabled + + + + 135.300s + + + + 0 + + + + 0 + + + + 65535 + + + + 1 + + + + clear + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 7 + + + + disabled + + + + 31 + + + + 3 + + + + input + + + + analog + + + + 1 + + + + OFF + + + + 32768 + + + + disabled + + + + analog + + + + 1 + + + + disabled + + + + 31 + + + + disabled + + + + disabled + + + + disabled + + + + OFF + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + clear + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + PR128 + + + + disabled + + + + 0 + + + + 21 + + + + out of lock + + + + 20 + + + + 52 + + + + 51 + + + + 31 + + + + 7967 + + + + 1 + + + + enabled + + + + 31 + + + + clear + + + + 1 + + + + 0 + + + + 47 + + + + 48 + + + + 1 + + + + 0 + + + + 0 + + + + 128 + + + + disabled + + + + 1792 + + + + disabled + + + + 1 + + + + 62 + + + + 0 + + + + 0 + + + + OFF + + + + 23 + + + + clear + + + + analog + + + + 0 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + disabled + + + + disabled + + + + + + + + + + + + 16 + + + + 0 + + + + ON + + + + 1 + + + + OFF + + + + UNSUPPORTED + + + + disabled + + + + disabled + + + + 31 + + + + FRCDIV + + + + disabled + + + + + + + + 0 + + + + 0 + + + + enabled + + + + FRC/2 + + + + UNSUPPORTED + + + + 2000000 + + + + 1 + + + + 0 + + + + 0 + + + + 4 + + + + clear + + + + none + + + + clear + + + + disabled + + + + 0 + + + + none + + + + none + + + + input + + + + none + + + + none + + + + 0 + + + + none + + + + analog + + + + disabled + + + + 16 + + + + 0 + + + + 4000000 + + + + 46 + + + + 0 + + + + none + + + + Switch is Complete + + + + none + + + + 0 + + + + none + + + + none + + + + 7 + + + + none + + + + none + + + + + + + + none + + + + 0 + + + + none + + + + none + + + + 1 + + + + none + + + + 1 + + + + UNSUPPORTED + + + + 7 + + + + disabled + + + + disabled + + + + 42 + + + + 0 + + + + clear + + + + 0 + + + + 24576 + + + + 1 + + + + 0 + + + + 0 + + + + input + + + + disabled + + + + disabled + + + + 1 + + + + UNSUPPORTED + + + + disabled + + + + 1 + + + + 6 + + + + 26 + + + + none + + + + 8000000 + + + + 1024 + + + + 0 + + + + 1 + + + + disabled + + + + FRCDIV + + + + + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + disabled + + + + input + + + + disabled + + + + 0 + + + + 2048 + + + + enabled + + + + 7 + + + + clear + + + + clear + + + + AVAILABLE + + + + no clock failure + + + + 61 + + + + + + + + 0 + + + + 7967 + + + + clear + + + + 0 + + + + 31000 + + + + 14 + + + + 31 + + + + 1 + + + + 2048 + + + + disabled + + + + disabled + + + + CLOCK_LPRC + + + + 7967 + + + + 0 + + + + disabled + + + + enabled + + + + disabled + + + + input + + + + 9 + + + + clear + + + + 0 + + + + disabled + + + + 31 + + + + disabled + + + + 31 + + + + disabled + + + + 0 + + + + clear + + + + disabled + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1280 + + + + 7967 + + + + 0 + + + + 0 + + + + AVAILABLE + + + + 0 + + + + 0 + + + + disabled + + + + UNSUPPORTED + + + + 31 + + + + 53 + + + + 0 + + + + clear + + + + 1 + + + + PS32768 + + + + 1 + + + + 0 + + + + disabled + + + + enabled + + + + enabled + + + + 31 + + + + enabled + + + + 31 + + + + 31 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 1 + + + + 3 + + + + 4 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + 7967 + + + + 0 + + + + 1 + + + + 20000000 + + + + NONE + + + + 0 + + + + ON + + + + 0 + + + + 1 + + + + 0 + + + + 5 + + + + 1 + + + + 1 + + + + UNSUPPORTED + + + + 1 + + + + 1 + + + + 0 + + + + input + + + + 5 + + + + enabled + + + + AVAILABLE + + + + clear + + + + 31 + + + + 0 + + + + 16384 + + + + UNSUPPORTED + + + + 31 + + + + 16 + + + + 17 + + + + 13 + + + + UNSUPPORTED + + + + 31 + + + + 31 + + + + 15 + + + + disabled + + + + 7967 + + + + 1 + + + + clear + + + + 1 + + + + 11 + + + + 1 + + + + 0 + + + + 4 + + + + 7967 + + + + disabled + + + + + + + + 1:8 + + + + enabled + + + + UNSUPPORTED + + + + 1 + + + + UNSUPPORTED + + + + 6144 + + + + 0 + + + + UNSUPPORTED + + + + 0 + + + + 3 + + + + 1 + + + + 1 + + + + + + + + + + + + 1 + + + + 45 + + + + clear + + + + 2 + + + + 6 + + + + + + + + + + + + + + + + 1 + + + + + + + + 0 + + + + FRC Oscillator + + + + 0 + + + + 1 + + + + 7936 + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 1 + + + + disabled + + + + 0 + + + + disabled + + + + UNSUPPORTED + + + + 0 + + + + unlocked + + + + 0 + + + + 31 + + + + 6 + + + + 1 + + + + 1 + + + + enabled + + + + 7 + + + + 0 + + + + CSDCMD + + + + clear + + + + 1 + + + + 2 + + + + 24 + + + + ISR_Pin Module_CNI + + + + PRI + + + + 0 + + + + disabled + + + + 31 + + + + 25 + + + + 1792 + + + + 3 + + + + 5 + + + + 1 + + + + none + + + + none + + + + 1 + + + + none + + + + AVAILABLE + + + + none + + + + disabled + + + + none + + + + none + + + + 41 + + + + 0 + + + + 0 + + + + 11 + + + + 1 + + + + 1 + + + + 0 + + + + 12 + + + + disabled + + + + AVAILABLE + + + + disabled + + + + 0 + + + + AVAILABLE + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 14 + + + + disabled + + + + disabled + + + + 1 + + + + 4 + + + + disabled + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 19 + + + + disabled + + + + disabled + + + + 23 + + + + 12544 + + + + 31 + + + + 128 + + + + 5 + + + + 1 + + + + 0 + + + + UNSUPPORTED + + + + 0 + + + + 8000000 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8192 + + + + 0 + + + + disabled + + + + 1 + + + + 1 + + + + 5 + + + + PGx1 + + + + 50 + + + + 1 + + + + enabled + + + + 8 + + + + 31 + + + + 1 + + + + enabled + + + + 0 + + + + 0 + + + + 31 + + + + 1 + + + + 1 + + + + 0 + + + + UNSUPPORTED + + + + 54 + + + + 768 + + + + 7967 + + + + input + + + + 22 + + + + 0 + + + + 1 + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + 44 + + + + 0 + + + + enabled + + + + 43 + + + + enabled + + + + 39 + + + + 40 + + + + 0 + + + + 1 + + + + 0 + + + + 32 + + + + 1 + + + + disabled + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 18 + + + + 0 + + + + 1 + + + + 1 + + + + 28 + + + + 29 + + + + input + + + + 64 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + OFF + + + + input + + + + FRCDIV + + + + 0 + + + + 0 + + + + 1 + + + + disabled + + + + 7 + + + + UNSUPPORTED + + + + 1 + + + + UNSUPPORTED + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 4 + + + + 1 + + + + 0 + + + + disabled + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + enabled + + + + 0 + + + + 0 + + + + 64 + + + + disabled + + + + 0 + + + + 1 + + + + disabled + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + Center frequency + + + + + + + + 31 + + + + + + + + 0 + + + + + + + + 0 + + + + 0 + + + + DIP28 + + + + 1 + + + + 0 + + + + LEG + + + + input + + + + 0 + + + + 7967 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + disabled + + + + 31 + + + + 1 + + + + 0 + + + + 12 + + + + disabled + + + + 1 + + + + 1 + + + + disabled + + + + 1 + + + + disabled + + + + 0 + + + + enabled + + + + 1 + + + + 1 + + + + input + + + + 1 + + + + 0 + + + + UNSUPPORTED + + + + 256 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + 0 + + + + 1 + + + + 12 + + + + 13 + + + + 1 + + + + UNSUPPORTED + + + + 0 + + + + input + + + + UNSUPPORTED + + + + 31 + + + + 55 + + + + 0 + + + + enabled + + + + enabled + + + + enabled + + + + 0 + + + + 56 + + + + 3 + + + + 1 + + + + 2 + + + + 49 + + + + 0 + + + + 1 + + + + input + + + + 0 + + + + 0 + + + + disabled + + + + UNSUPPORTED + + + + disabled + + + + 1 + + + + enabled + + + + 0 + + + + UNSUPPORTED + + + + 0 + + + + UNSUPPORTED + + + + disabled + + + + 1 + + + + 0 + + + + 1 + + + + 1:2 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + AVAILABLE + + + + disabled + + + + disabled + + + + 38 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + input + + + + disabled + + + + 0 + + + + enabled + + + + disabled + + + + 1 + + + + 27 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + UNSUPPORTED + + + + 1 + + + + 1 + + + + 0 + + + + input + + + + 0 + + + + disabled + + + + disabled + + + + 0 + + + + 1 + + + + 3 + + + + disabled + + + + 0 + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + 0 + + + + AVAILABLE + + + + 0 + + + + 31000 + + + + 8 + + + + 5 + + + + 9 + + + + 1 + + + + 0 + + + + 32695 + + + + 4 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + UNSUPPORTED + + + + 512 + + + + input + + + + 1 + + + + 63 + + + + disabled + + + + 0 + + + + 1 + + + + 0 + + + + 15199 + + + + enabled + + + + 1 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + clear + + + + 2 + + + + disabled + + + + 0 + + + + 0 + + + + disabled + + + + 1 + + + + disabled + + + + input + + + + disabled + + + + 57 + + + + 1 + + + + clear + + + + enabled + + + + 0 + + + + 0 + + + + 0 + + + + 8192 + + + + disabled + + + + 0 + + + + 1 + + + + analog + + + + Center frequency + + + + 31 + + + + enabled + + + + 0 + + + + 1 + + + + UNSUPPORTED + + + + disabled + + + + 0 + + + + 1 + + + + disabled + + + + 1 + + + + disabled + + + + SOSC + + + + 0 + + + + 0 + + + + input + + + + 1 + + + + 1 + + + + 1 + + + + analog + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 6 + + + + 0 + + + + 1 + + + + UNSUPPORTED + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + disabled + + + + input + + + + disabled + + + + disabled + + + + 1 + + + + 256 + + + + 512 + + + + 768 + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + output + + + + digital + + + + 35 + + + + 36 + + + + 4 + + + + 1 + + + + 1 + + + + OFF + + + + disabled + + + + clear + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + 10 + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + analog + + + + enabled + + + + digital + + + + 1 + + + + 0 + + + + disabled + + + + 0 + + + + 1 + + + + 1 + + + + 15 + + + + 0 + + + + 0 + + + + disabled + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 60 + + + + 0 + + + + enabled + + + + 0 + + + + 58 + + + + disabled + + + + 37 + + + + 1 + + + + 1 + + + + 59 + + + + 31 + + + + enabled + + + + 0 + + + + 1 + + + + analog + + + + enabled + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + 2 + + + + 10 + + + + 0 + + + + 30 + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 1 + + + + UNSUPPORTED + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 31 + + + + 0 + + + + 0 + + + + enabled + + + + 0 + + + + 1 + + + + 1 + + + + 31 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 34 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 1 + + + + UNSUPPORTED + + + + 33 + + + + 0 + + + + disabled + + + + 0 + + + + 32 + + + + disabled + + + + 0 + + + + OFF + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 4000000 + + + + enabled + + + + disabled + + + + 3 + + + + disabled + + + + 4096 + + + + enabled + + + + 0 + + + + 1 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + disabled + + + + disabled + + + + 1 + + + + 1 + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + + \ No newline at end of file diff --git a/Lab4.X/dist/default/debug/memoryfile.xml b/Lab4.X/dist/default/debug/memoryfile.xml new file mode 100644 index 0000000..6e2c200 --- /dev/null +++ b/Lab4.X/dist/default/debug/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 110 + 8082 + + + bytes + 65274 + 1893 + 63381 + + + diff --git a/Lab4.X/dist/default/production/memoryfile.xml b/Lab4.X/dist/default/production/memoryfile.xml new file mode 100644 index 0000000..d174a92 --- /dev/null +++ b/Lab4.X/dist/default/production/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 30 + 8162 + + + bytes + 65274 + 1851 + 63423 + + + diff --git a/Lab4.X/lab4_button.c b/Lab4.X/lab4_button.c index 611cf03..f889502 100644 --- a/Lab4.X/lab4_button.c +++ b/Lab4.X/lab4_button.c @@ -1,5 +1,6 @@ #include "xc.h" #include "lab4_button.h" +#define circBuffSize 2 void initPushButton(){ //Configure Timer 2 (500ns / count, 25ms max). @@ -9,22 +10,21 @@ void initPushButton(){ T2CONbits.TCS = 0b0; T2CONbits.TGATE = 0b0; TMR2 = 0; - PR2 = 0xf424; // Set period to be larger than max external sig duration + PR2 = 62500; // Set period to be larger than max external sig duration T2CONbits.TON = 1; // Start 16-bit Timer2 // Initialize the Input Capture Module - IC1CONbits.ICTMR = 1; // Select Timer2 as the IC1 Time base - IC1CONbits.ICI = 0b00; // Interrupt on every capture event - IC1CONbits.ICM = 0b011; // Generate capture event on every Rising edge - // Enable Capture Interrupt And Timer2 - - IPC0bits.IC1IP = 1; // Setup IC1 interrupt priority level - IFS0bits.IC1IF = 0; // Clear IC1 Interrupt Status Flag - IEC0bits.IC1IE = 1; // Enable IC1 interrupt + IC1CON = 0; // Turn off and reset internal state of IC1 + IC1CONbits.ICTMR = 1; // Use Timer 2 for capture source + IC1CONbits.ICM = 0b011; // Turn on and capture every rising edge + IC1CON = 1; + + _IC1IF = 0; // Clear IC1 Interrupt Status Flag + _IC1IE = 1; // Enable IC1 interrupt - IFS0bits.T2IF = 1; - IEC0bits.T2IE = 1; -} + _T2IF = 1; + _T2IE = 1; +} volatile unsigned long overflow = 0; //Timer 2 overflow interrupt @@ -34,14 +34,42 @@ void __attribute__((__interrupt__,__auto_psv__)) _T2Interrupt(void) { overflow++; } -volatile long int curPeriod=0; +//Buffer functions +volatile unsigned long buffer[circBuffSize]; +int buffSize = 0, write = 0, read = 0; +void addBuffer(unsigned long x) { + if (buffSize < circBuffSize) { + buffer[write++] = x; + write %= circBuffSize; + ++buffSize; + } + //Otherwise get rid of the data. +} +unsigned long getBuffer() { + unsigned long returnValue = buffer[read++]; + read %= circBuffSize; + --buffSize; + return returnValue; +} +int emptyBuffer(void) { + if (buffSize <= 0) { + buffSize=0; + return 1; + } else { + return 0; + } +} + +volatile unsigned long curPeriod = 0, prevPress = 0, currPress = 0; //IC1 interrupt void __attribute__((__interrupt__,__auto_psv__)) _IC1Interrupt(void) { - static unsigned int prevEdge=0; - int curEdge; - _IC1IF = 0; - curEdge = IC1BUF + 62500L * overflow; - curPeriod = curEdge - prevEdge; - prevEdge = curEdge; -} + unsigned int time; + currPress = (IC1BUF + 62500 * (long) overflow); + curPeriod = currPress - prevPress; + time = curPeriod / 62.5; + if (time > 10) { + addBuffer(time); + } + prevPress = currPress; +} \ No newline at end of file diff --git a/Lab4.X/lab4_button.h b/Lab4.X/lab4_button.h new file mode 100644 index 0000000..1001954 --- /dev/null +++ b/Lab4.X/lab4_button.h @@ -0,0 +1,18 @@ +#ifndef LAB4_BUTTON_H +#define LAB4_BUTTON_H + +#include // include processor files - each processor file is guarded. + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + void initPushButton(void); + void addBuffer(unsigned long x); + unsigned long getBuffer(); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LAB4_BUTTON_H */ + diff --git a/Lab4.X/lab4_main.c b/Lab4.X/lab4_main.c new file mode 100644 index 0000000..f9f626c --- /dev/null +++ b/Lab4.X/lab4_main.c @@ -0,0 +1,51 @@ +#include "xc.h" +#include "lab4_servo.h" +#include "lab4_button.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)) + +void setup(void) { + //SET IC/OC + __builtin_write_OSCCONL(OSCCON & 0xbf); // unlock PPS + RPINR7bits.IC1R = 8; // Use Pin RP8 = "8", for Input Capture 1 (Table 10-2) + RPOR3bits.RP6R = 18; // Use Pin RP6 for Output Compare 1 = "18" (Table 10-3) + __builtin_write_OSCCONL(OSCCON | 0x40); // lock PPS + //END IC/OC + CLKDIVbits.RCDIV = 0; //Set RCDIV=1:1 (default 2:1) 32MHz or FCY/2=16M + AD1PCFG = 0x9fff; + _CN22PUE = 1; + TRISB |= 100000000; + initServo(); + initPushButton(); +} + +int main(void) { + setup(); + unsigned long first = 0, second = 0; + while (1) { + if (emptyBuffer() == 1) + continue; + //Buffer is not empty, keep going + first = getBuffer(); + second = getBuffer(); + if (first < 500 && second < 500) { + setServo(2500); + } else { + setServo(1000); + } + } +} diff --git a/Lab4.X/lab4_servo.c b/Lab4.X/lab4_servo.c new file mode 100644 index 0000000..9ff5b42 --- /dev/null +++ b/Lab4.X/lab4_servo.c @@ -0,0 +1,23 @@ +#include "xc.h" +#include "lab4_servo.h" +void setServo(int Val) +{ + OC1RS=Val; +} +void initServo() { + TRISB &= 1111111111011111; + //TIMER 3 + T3CON = 0x0010; //Stop Timer, Tcy clk source, PRE 1:8 + T3CONbits.TCKPS = 0b01; + T3CONbits.TCS=0; + TMR3 = 0; // Initialize to zero + PR3 = 39999; // Set period in order to make 20ms cycle + T3CONbits.TON = 1; + + //OC1 + OC1CON = 0; + OC1R = 1234; // servo start position. We won?t touch OC1R again + OC1RS = 1234; // We will only change this once PWM is turned on + OC1CONbits.OCM = 0b110; + OC1CONbits.OCTSEL = 1; +} diff --git a/Lab4.X/lab4_servo.h b/Lab4.X/lab4_servo.h new file mode 100644 index 0000000..c96cbf3 --- /dev/null +++ b/Lab4.X/lab4_servo.h @@ -0,0 +1,17 @@ +#ifndef LAB4_SERVO_H +#define LAB4_SERVO_H + +#include // include processor files - each processor file is guarded. + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + void delay(long n); + void initServo(void); + void setServo(int Val); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* XC_HEADER_TEMPLATE_H */ + diff --git a/Lab4.X/nbproject/Makefile-default.mk b/Lab4.X/nbproject/Makefile-default.mk new file mode 100644 index 0000000..f3ee77d --- /dev/null +++ b/Lab4.X/nbproject/Makefile-default.mk @@ -0,0 +1,189 @@ +# +# 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}/Lab4.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab4.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=lab4_main.c lab4_button.c lab4_servo.c + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lab4_main.o ${OBJECTDIR}/lab4_button.o ${OBJECTDIR}/lab4_servo.o +POSSIBLE_DEPFILES=${OBJECTDIR}/lab4_main.o.d ${OBJECTDIR}/lab4_button.o.d ${OBJECTDIR}/lab4_servo.o.d + +# Object Files +OBJECTFILES=${OBJECTDIR}/lab4_main.o ${OBJECTDIR}/lab4_button.o ${OBJECTDIR}/lab4_servo.o + +# Source Files +SOURCEFILES=lab4_main.c lab4_button.c lab4_servo.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}/Lab4.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}/lab4_main.o: lab4_main.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_main.o.d + @${RM} ${OBJECTDIR}/lab4_main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_main.c -o ${OBJECTDIR}/lab4_main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_main.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}/lab4_main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab4_button.o: lab4_button.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_button.o.d + @${RM} ${OBJECTDIR}/lab4_button.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_button.c -o ${OBJECTDIR}/lab4_button.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_button.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}/lab4_button.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab4_servo.o: lab4_servo.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_servo.o.d + @${RM} ${OBJECTDIR}/lab4_servo.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_servo.c -o ${OBJECTDIR}/lab4_servo.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_servo.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}/lab4_servo.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +else +${OBJECTDIR}/lab4_main.o: lab4_main.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_main.o.d + @${RM} ${OBJECTDIR}/lab4_main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_main.c -o ${OBJECTDIR}/lab4_main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_main.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}/lab4_main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab4_button.o: lab4_button.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_button.o.d + @${RM} ${OBJECTDIR}/lab4_button.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_button.c -o ${OBJECTDIR}/lab4_button.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_button.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}/lab4_button.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab4_servo.o: lab4_servo.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab4_servo.o.d + @${RM} ${OBJECTDIR}/lab4_servo.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab4_servo.c -o ${OBJECTDIR}/lab4_servo.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab4_servo.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}/lab4_servo.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +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}/Lab4.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}/Lab4.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}/Lab4.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}/Lab4.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}/Lab4.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/Lab4.X/nbproject/Makefile-genesis.properties b/Lab4.X/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..b0b44d9 --- /dev/null +++ b/Lab4.X/nbproject/Makefile-genesis.properties @@ -0,0 +1,10 @@ +# +#Tue Mar 31 12:13:08 CDT 2020 +default.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.35\\packs\\Microchip\\PIC24F-GA-GB_DFP\\1.2.101 +default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=859fc649e7017fd01769e2187e1537a7 +default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc16\\v1.50\\bin +configurations-xml=e0ae3ab3ff8165701c8f81eaf22a66fc +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5db0f4d6bbe0ec2a1f1096ccfb9d7ad3 +default.languagetoolchain.version=1.50 +host.platform=windows +conf.ids=default diff --git a/Lab4.X/nbproject/Makefile-impl.mk b/Lab4.X/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..564f468 --- /dev/null +++ b/Lab4.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=Lab4.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/Lab4.X/nbproject/Makefile-local-default.mk b/Lab4.X/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..c75d9df --- /dev/null +++ b/Lab4.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.35/mplab_platform/platform/../mplab_ide/modules/../../bin/ +# Adding MPLAB X bin directory to path. +PATH:=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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.35\sys\java\jre1.8.0_181/bin/" +OS_CURRENT="$(shell uname -s)" +MP_CC="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-gcc.exe" +# MP_CPPC is not defined +# MP_BC is not defined +MP_AS="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-as.exe" +MP_LD="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ld.exe" +MP_AR="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ar.exe" +DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.35/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_CPPC_DIR is not defined +# MP_BC_DIR is not defined +MP_AS_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_LD_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_AR_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_BC_DIR is not defined +DFP_DIR="C:/Program Files (x86)/Microchip/MPLABX/v5.35/packs/Microchip/PIC24F-GA-GB_DFP/1.2.101" diff --git a/Lab4.X/nbproject/Makefile-variables.mk b/Lab4.X/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..99eafb9 --- /dev/null +++ b/Lab4.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=Lab4.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/Lab4.X.production.hex +CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package +CND_PACKAGE_NAME_default=lab4.x.tar +CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab4.x.tar diff --git a/Lab4.X/nbproject/Package-default.bash b/Lab4.X/nbproject/Package-default.bash new file mode 100644 index 0000000..ec5f254 --- /dev/null +++ b/Lab4.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}/Lab4.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +OUTPUT_BASENAME=Lab4.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +PACKAGE_TOP_DIR=lab4.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}/lab4.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/lab4.x.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab4.x.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/Lab4.X/nbproject/configurations.xml b/Lab4.X/nbproject/configurations.xml new file mode 100644 index 0000000..c062cde --- /dev/null +++ b/Lab4.X/nbproject/configurations.xml @@ -0,0 +1,656 @@ + + + + + lab4_button.h + lab4_servo.h + + + + + lab4_main.c + lab4_button.c + lab4_servo.c + + + Makefile + MyConfig.mc3 + + + Makefile + + + + localhost + PIC24FJ64GA002 + + + PK3OBPlatformTool + XC16 + 1.50 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lab4.X/nbproject/private/configurations.xml b/Lab4.X/nbproject/private/configurations.xml new file mode 100644 index 0000000..099de7b --- /dev/null +++ b/Lab4.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>DA63CA1:=<drv>x:=<xpt>h:=end + C:\Program Files\Microchip\xc16\v1.50\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/Lab4.X/nbproject/private/private.xml b/Lab4.X/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Lab4.X/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Lab4.X/nbproject/project.xml b/Lab4.X/nbproject/project.xml new file mode 100644 index 0000000..37597b1 --- /dev/null +++ b/Lab4.X/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + Lab4 + 3910cf97-50cc-48f2-b0f8-cdd6c77563b8 + 0 + c + + h + + ISO-8859-1 + + + + + default + 2 + + + + false + + + + diff --git a/Lab4.X/strap012_lab4.zip b/Lab4.X/strap012_lab4.zip new file mode 100644 index 0000000..4641308 Binary files /dev/null and b/Lab4.X/strap012_lab4.zip differ diff --git a/Lab4.X/strap012_lab4_I_Guess.zip b/Lab4.X/strap012_lab4_I_Guess.zip new file mode 100644 index 0000000..ad7adf1 Binary files /dev/null and b/Lab4.X/strap012_lab4_I_Guess.zip differ diff --git a/Lab5.X/Makefile b/Lab5.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Lab5.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/Lab5.X/dist/default/debug/memoryfile.xml b/Lab5.X/dist/default/debug/memoryfile.xml new file mode 100644 index 0000000..9f704b1 --- /dev/null +++ b/Lab5.X/dist/default/debug/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 80 + 8112 + + + bytes + 65274 + 1086 + 64188 + + + diff --git a/Lab5.X/dist/default/production/memoryfile.xml b/Lab5.X/dist/default/production/memoryfile.xml new file mode 100644 index 0000000..13949ab --- /dev/null +++ b/Lab5.X/dist/default/production/memoryfile.xml @@ -0,0 +1,18 @@ + + + + + + bytes + 8192 + 0 + 8192 + + + bytes + 65274 + 1125 + 64149 + + + diff --git a/Lab5.X/lab5_lcd.c b/Lab5.X/lab5_lcd.c new file mode 100644 index 0000000..8c0af52 --- /dev/null +++ b/Lab5.X/lab5_lcd.c @@ -0,0 +1,98 @@ +#include "xc.h" +#include "lab5_lcd.h" +#include "string.h" +#define CON 32 +//Obligatory delay function +void delay(long n){ + for (n=n; n>0; n--) { + asm("nop"); + } +} + +void lcd_cmd(char command) { + I2C2CONbits.SEN = 1; //Start + while(I2C2CONbits.SEN); + IFS3bits.MI2C2IF=0; + I2C2TRN= 0b01111100; //Slave address and R/W bit + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2TRN = 0b00000000; //Control byte + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2TRN = command; //Data byte + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2CONbits.PEN = 1; //Stop + while(I2C2CONbits.PEN); +} + +void lcd_init(void) { + delay(66666); + lcd_cmd(0b00111000); // function set, normal instruction mode + lcd_cmd(0b00111001); // function set, extended instruction mode + lcd_cmd(0b00010100); // interval osc + lcd_cmd(0b01110000); // contrast C3-C0 + lcd_cmd(0b01011110); // Ion, Bon, C5-C4 + lcd_cmd(0b01101100); // follower control + delay(266665); + lcd_cmd(0b00111000); // function set, normal instruction mode + lcd_cmd(0b00001100); // Display On + lcd_cmd(0b00000001); // Clear Display + delay(2667); +} + +void lcd_setCursor(char x, char y) { + char location = 0x40 * y + x; + lcd_cmd((1 << 7) + location); +} + +void lcd_printChar(char myChar) { + I2C2CONbits.SEN = 1; + while(I2C2CONbits.SEN); + IFS3bits.MI2C2IF = 0; + I2C2TRN= 0b01111100; + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF = 0; + I2C2TRN = 0b01000000; //RS = 1 + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF = 0; + I2C2TRN = myChar; + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF = 0; + I2C2CONbits.PEN = 1; + while(I2C2CONbits.PEN); +} + +void lcd_printStr(const char s[]) { + int size = strlen(s); + I2C2CONbits.SEN = 1; //Start + while(I2C2CONbits.SEN); + IFS3bits.MI2C2IF=0; + I2C2TRN= 0b01111100; //Slave address and R/W bit + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + int i; + for (i=0; i < size - 1; i++) { + I2C2TRN = 0b11000000; //Control byte, RS = 1 + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2TRN = s[i]; //Data byte + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + } + I2C2TRN = 0b01000000; //Control byte, RS = 1 + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2TRN = s[size-1]; //Data byte + while(!IFS3bits.MI2C2IF); + IFS3bits.MI2C2IF=0; + I2C2CONbits.PEN = 1; //Stop + while(I2C2CONbits.PEN); +} + +void left(void) { + lcd_cmd(0b11 << 3); +} +void right(void) { + lcd_cmd(0b111 << 2); +} \ No newline at end of file diff --git a/Lab5.X/lab5_lcd.h b/Lab5.X/lab5_lcd.h new file mode 100644 index 0000000..aeefb42 --- /dev/null +++ b/Lab5.X/lab5_lcd.h @@ -0,0 +1,17 @@ +#ifndef LCD_HEADER +#define LCD_HEADER + +#include // include processor files - each processor file is guarded. +#ifdef __cplusplus +extern "C" { +#endif + void lcd_cmd(char command); + void lcd_init(void); + void lcd_setCursor(char x, char y); + void lcd_printChar(char myChar); + void lcd_printStr(const char s[]); +#ifdef __cplusplus +} +#endif +#endif + diff --git a/Lab5.X/lab5_main.c b/Lab5.X/lab5_main.c new file mode 100644 index 0000000..b133335 --- /dev/null +++ b/Lab5.X/lab5_main.c @@ -0,0 +1,37 @@ +#include "xc.h" +#include "lab5_lcd.h" + +#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)) +void setup(void) { + CLKDIVbits.RCDIV = 0; + AD1PCFG = 0x9fff; //all digital inputs and outputs + I2C2BRG = 0x9D; + I2C2CONbits.I2CEN = 1; + _I2CSIDL = 0; + IFS3bits.MI2C2IF=0; + lcd_init(); +} + +int main(void) { + setup(); + lcd_setCursor(0, 0); + lcd_printStr("Hello"); + lcd_setCursor(2,1); + lcd_printStr("World!"); + while (1) { + delay(500000); + left(); + } +} \ No newline at end of file diff --git a/Lab5.X/nbproject/Makefile-default.mk b/Lab5.X/nbproject/Makefile-default.mk new file mode 100644 index 0000000..8d79eaa --- /dev/null +++ b/Lab5.X/nbproject/Makefile-default.mk @@ -0,0 +1,175 @@ +# +# 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}/Lab5.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +else +IMAGE_TYPE=production +OUTPUT_SUFFIX=hex +DEBUGGABLE_SUFFIX=elf +FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab5.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=lab5_main.c lab5_lcd.c + +# Object Files Quoted if spaced +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lab5_main.o ${OBJECTDIR}/lab5_lcd.o +POSSIBLE_DEPFILES=${OBJECTDIR}/lab5_main.o.d ${OBJECTDIR}/lab5_lcd.o.d + +# Object Files +OBJECTFILES=${OBJECTDIR}/lab5_main.o ${OBJECTDIR}/lab5_lcd.o + +# Source Files +SOURCEFILES=lab5_main.c lab5_lcd.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}/Lab5.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}/lab5_main.o: lab5_main.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab5_main.o.d + @${RM} ${OBJECTDIR}/lab5_main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab5_main.c -o ${OBJECTDIR}/lab5_main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab5_main.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}/lab5_main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab5_lcd.o: lab5_lcd.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab5_lcd.o.d + @${RM} ${OBJECTDIR}/lab5_lcd.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab5_lcd.c -o ${OBJECTDIR}/lab5_lcd.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab5_lcd.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}/lab5_lcd.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +else +${OBJECTDIR}/lab5_main.o: lab5_main.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab5_main.o.d + @${RM} ${OBJECTDIR}/lab5_main.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab5_main.c -o ${OBJECTDIR}/lab5_main.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab5_main.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}/lab5_main.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +${OBJECTDIR}/lab5_lcd.o: lab5_lcd.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} "${OBJECTDIR}" + @${RM} ${OBJECTDIR}/lab5_lcd.o.d + @${RM} ${OBJECTDIR}/lab5_lcd.o + ${MP_CC} $(MP_EXTRA_CC_PRE) lab5_lcd.c -o ${OBJECTDIR}/lab5_lcd.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab5_lcd.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}/lab5_lcd.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ + +endif + +# ------------------------------------------------------------------------------------ +# Rules for buildStep: assemble +ifeq ($(TYPE_IMAGE), DEBUG_RUN) +else +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}/Lab5.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}/Lab5.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}/Lab5.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}/Lab5.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}/Lab5.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/Lab5.X/nbproject/Makefile-genesis.properties b/Lab5.X/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..0376466 --- /dev/null +++ b/Lab5.X/nbproject/Makefile-genesis.properties @@ -0,0 +1,10 @@ +# +#Wed Apr 08 10:43:03 CDT 2020 +default.Pack.dfplocation=C\:\\Program Files (x86)\\Microchip\\MPLABX\\v5.35\\packs\\Microchip\\PIC24F-GA-GB_DFP\\1.2.101 +default.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=859fc649e7017fd01769e2187e1537a7 +default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc16\\v1.50\\bin +configurations-xml=26589ca1d802028c5a31cd15231825b7 +com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=5db0f4d6bbe0ec2a1f1096ccfb9d7ad3 +default.languagetoolchain.version=1.50 +host.platform=windows +conf.ids=default diff --git a/Lab5.X/nbproject/Makefile-impl.mk b/Lab5.X/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..c7756b2 --- /dev/null +++ b/Lab5.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=Lab5.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/Lab5.X/nbproject/Makefile-local-default.mk b/Lab5.X/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..c75d9df --- /dev/null +++ b/Lab5.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.35/mplab_platform/platform/../mplab_ide/modules/../../bin/ +# Adding MPLAB X bin directory to path. +PATH:=C:/Program Files (x86)/Microchip/MPLABX/v5.35/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.35\sys\java\jre1.8.0_181/bin/" +OS_CURRENT="$(shell uname -s)" +MP_CC="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-gcc.exe" +# MP_CPPC is not defined +# MP_BC is not defined +MP_AS="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-as.exe" +MP_LD="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ld.exe" +MP_AR="C:\Program Files\Microchip\xc16\v1.50\bin\xc16-ar.exe" +DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files (x86)/Microchip/MPLABX/v5.35/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar" +MP_CC_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_CPPC_DIR is not defined +# MP_BC_DIR is not defined +MP_AS_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_LD_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +MP_AR_DIR="C:\Program Files\Microchip\xc16\v1.50\bin" +# MP_BC_DIR is not defined +DFP_DIR="C:/Program Files (x86)/Microchip/MPLABX/v5.35/packs/Microchip/PIC24F-GA-GB_DFP/1.2.101" diff --git a/Lab5.X/nbproject/Makefile-variables.mk b/Lab5.X/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..cf49f8e --- /dev/null +++ b/Lab5.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=Lab5.X.production.hex +CND_ARTIFACT_PATH_default=dist/default/production/Lab5.X.production.hex +CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package +CND_PACKAGE_NAME_default=lab5.x.tar +CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab5.x.tar diff --git a/Lab5.X/nbproject/Package-default.bash b/Lab5.X/nbproject/Package-default.bash new file mode 100644 index 0000000..264c140 --- /dev/null +++ b/Lab5.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}/Lab5.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +OUTPUT_BASENAME=Lab5.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} +PACKAGE_TOP_DIR=lab5.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}/lab5.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/lab5.x.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab5.x.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/Lab5.X/nbproject/configurations.xml b/Lab5.X/nbproject/configurations.xml new file mode 100644 index 0000000..3ea7dfd --- /dev/null +++ b/Lab5.X/nbproject/configurations.xml @@ -0,0 +1,653 @@ + + + + + lab5_lcd.h + + + + + lab5_main.c + lab5_lcd.c + + + Makefile + + + Makefile + + + + localhost + PIC24FJ64GA002 + + + PK3OBPlatformTool + XC16 + 1.50 + 3 + + + + + + + + + + + + + false + false + + + + + + + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lab5.X/nbproject/private/configurations.xml b/Lab5.X/nbproject/private/configurations.xml new file mode 100644 index 0000000..099de7b --- /dev/null +++ b/Lab5.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>DA63CA1:=<drv>x:=<xpt>h:=end + C:\Program Files\Microchip\xc16\v1.50\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/Lab5.X/nbproject/private/private.xml b/Lab5.X/nbproject/private/private.xml new file mode 100644 index 0000000..f2aa828 --- /dev/null +++ b/Lab5.X/nbproject/private/private.xml @@ -0,0 +1,11 @@ + + + + + + file:/C:/Users/Ross/MPLABXProjects/EE2361Projects/Lab5.X/lab5_main.c + file:/C:/Users/Ross/MPLABXProjects/EE2361Projects/Lab5.X/lab5_lcd.c + file:/C:/Users/Ross/MPLABXProjects/EE2361Projects/Lab5.X/lab5_lcd.h + + + diff --git a/Lab5.X/nbproject/project.xml b/Lab5.X/nbproject/project.xml new file mode 100644 index 0000000..44060a4 --- /dev/null +++ b/Lab5.X/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + Lab5 + 9a7e41ce-a872-4768-be87-e2ba495e715e + 0 + c + + h + + ISO-8859-1 + + + + + default + 2 + + + + false + + + + diff --git a/Lab_2B.X/Makefile b/Lab_2B.X/Makefile deleted file mode 100644 index fca8e2c..0000000 --- a/Lab_2B.X/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -# 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/Lab_2B.X/lab2b_asm.s b/Lab_2B.X/lab2b_asm.s deleted file mode 100644 index ddee29b..0000000 --- a/Lab_2B.X/lab2b_asm.s +++ /dev/null @@ -1,40 +0,0 @@ -.include "xc.inc" - -.text ;BP (put the following data in ROM(program memory)) - -; This is a library, thus it can *not* contain a _main function: the C file will -; define main(). However, we -; we will need a .global statement to make available ASM functions to C code. -; All functions utilized outside of this file will need to have a leading -; underscore (_) and be included in a comment delimited list below. -.global _write_0, _write_1, _wait_100us, _wait_1ms - -_wait_100us: - repeat #1593 - nop - return - -_wait_1ms: - repeat #15993 - nop - return - -_write_0: ;2 cycles for function call - inc LATA ;1 - repeat #2 ;1 for load - nop ;2+1=3 nop - clr LATA ;1 - repeat #6 ;1 for load - nop ;1+6=7 nop - return ;3 return - - -_write_1: ;2 cycle call - inc LATA ;1 - repeat #8 ;1 load - nop ;1+9=10 nop - clr LATA ;1 - nop ;1 - nop ;1 - return ;3 return - \ No newline at end of file diff --git a/Lab_2B.X/nbproject/Makefile-default.mk b/Lab_2B.X/nbproject/Makefile-default.mk deleted file mode 100644 index 5ab6334..0000000 --- a/Lab_2B.X/nbproject/Makefile-default.mk +++ /dev/null @@ -1,175 +0,0 @@ -# -# 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}/Lab_2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -else -IMAGE_TYPE=production -OUTPUT_SUFFIX=hex -DEBUGGABLE_SUFFIX=elf -FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/Lab_2B.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=lab2b_asm.s lab2b_c.c - -# Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/lab2b_asm.o ${OBJECTDIR}/lab2b_c.o -POSSIBLE_DEPFILES=${OBJECTDIR}/lab2b_asm.o.d ${OBJECTDIR}/lab2b_c.o.d - -# Object Files -OBJECTFILES=${OBJECTDIR}/lab2b_asm.o ${OBJECTDIR}/lab2b_c.o - -# Source Files -SOURCEFILES=lab2b_asm.s lab2b_c.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}/Lab_2B.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}/lab2b_c.o: lab2b_c.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/lab2b_c.o.d - @${RM} ${OBJECTDIR}/lab2b_c.o - ${MP_CC} $(MP_EXTRA_CC_PRE) lab2b_c.c -o ${OBJECTDIR}/lab2b_c.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab2b_c.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}/lab2b_c.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -else -${OBJECTDIR}/lab2b_c.o: lab2b_c.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/lab2b_c.o.d - @${RM} ${OBJECTDIR}/lab2b_c.o - ${MP_CC} $(MP_EXTRA_CC_PRE) lab2b_c.c -o ${OBJECTDIR}/lab2b_c.o -c -mcpu=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/lab2b_c.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}/lab2b_c.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -endif - -# ------------------------------------------------------------------------------------ -# Rules for buildStep: assemble -ifeq ($(TYPE_IMAGE), DEBUG_RUN) -${OBJECTDIR}/lab2b_asm.o: lab2b_asm.s nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/lab2b_asm.o.d - @${RM} ${OBJECTDIR}/lab2b_asm.o - ${MP_CC} $(MP_EXTRA_AS_PRE) lab2b_asm.s -o ${OBJECTDIR}/lab2b_asm.o -c -mcpu=$(MP_PROCESSOR_OPTION) -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/lab2b_asm.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}/lab2b_asm.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ - -else -${OBJECTDIR}/lab2b_asm.o: lab2b_asm.s nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} "${OBJECTDIR}" - @${RM} ${OBJECTDIR}/lab2b_asm.o.d - @${RM} ${OBJECTDIR}/lab2b_asm.o - ${MP_CC} $(MP_EXTRA_AS_PRE) lab2b_asm.s -o ${OBJECTDIR}/lab2b_asm.o -c -mcpu=$(MP_PROCESSOR_OPTION) -omf=elf -DXPRJ_default=$(CND_CONF) -legacy-libc -Wa,-MD,"${OBJECTDIR}/lab2b_asm.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax$(MP_EXTRA_AS_POST) -mdfp=${DFP_DIR}/xc16 - @${FIXDEPS} "${OBJECTDIR}/lab2b_asm.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}/Lab_2B.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}/Lab_2B.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}/Lab_2B.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}/Lab_2B.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}/Lab_2B.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/Lab_2B.X/nbproject/Makefile-impl.mk b/Lab_2B.X/nbproject/Makefile-impl.mk deleted file mode 100644 index d19ad88..0000000 --- a/Lab_2B.X/nbproject/Makefile-impl.mk +++ /dev/null @@ -1,69 +0,0 @@ -# -# 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=Lab_2B.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/Lab_2B.X/nbproject/Makefile-local-default.mk b/Lab_2B.X/nbproject/Makefile-local-default.mk deleted file mode 100644 index 214e7fa..0000000 --- a/Lab_2B.X/nbproject/Makefile-local-default.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# 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/Lab_2B.X/nbproject/Makefile-variables.mk b/Lab_2B.X/nbproject/Makefile-variables.mk deleted file mode 100644 index 739f16b..0000000 --- a/Lab_2B.X/nbproject/Makefile-variables.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Generated - do not edit! -# -# NOCDDL -# -CND_BASEDIR=`pwd` -# default configuration -CND_ARTIFACT_DIR_default=dist/default/production -CND_ARTIFACT_NAME_default=Lab_2B.X.production.hex -CND_ARTIFACT_PATH_default=dist/default/production/Lab_2B.X.production.hex -CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package -CND_PACKAGE_NAME_default=lab2b.x.tar -CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/lab2b.x.tar diff --git a/Lab_2B.X/nbproject/Package-default.bash b/Lab_2B.X/nbproject/Package-default.bash deleted file mode 100644 index c137317..0000000 --- a/Lab_2B.X/nbproject/Package-default.bash +++ /dev/null @@ -1,73 +0,0 @@ -#!/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}/Lab_2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -OUTPUT_BASENAME=Lab_2B.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} -PACKAGE_TOP_DIR=lab2b.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}/lab2b.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/lab2b.x.tar -cd ${TMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/lab2b.x.tar * -checkReturnCode - -# Cleanup -cd "${TOP}" -rm -rf ${TMPDIR} -- cgit v1.2.3