first release candidate

This commit is contained in:
Weston 2020-12-10 20:22:07 -08:00
parent d320919cf2
commit af71695676
140 changed files with 664360 additions and 0 deletions

26
.gitignore vendored Executable file
View File

@ -0,0 +1,26 @@
#ignore kicad backup files
*.bak
*.sch-bak
*.log
*.kicad_pcb-bak
#zipped gerbers
pcb/gerbers/*.zip
#ignore ltspice log files
simulation/*.log
simulation/*.plt
simulation/*.raw
simulation/*.net
modeling/*.log
modeling/*.plt
modeling/*.raw
modeling/*.net
#femm files
modeling/*.edge
modeling/*.ans
#osx files
*.DS_Store
firmware/B1-firmware.X/dist/

BIN
doc/current-sense.pdf Normal file

Binary file not shown.

113
firmware/B1-firmware.X/Makefile Executable file
View File

@ -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
build/default/production/main.p1: \
main.c \
mcc_generated_files/mcc.h \
mcc_generated_files/device_config.h \
mcc_generated_files/pin_manager.h \
mcc_generated_files/interrupt_manager.h \
mcc_generated_files/dac5.h \
mcc_generated_files/dac4.h \
mcc_generated_files/dac7.h \
mcc_generated_files/cmp2.h \
mcc_generated_files/cmp1.h \
mcc_generated_files/fvr.h \
mcc_generated_files/cmp5.h \
mcc_generated_files/opa1.h \
mcc_generated_files/dac1.h \
mcc_generated_files/opa2.h \
mcc_generated_files/dac3.h \
mcc_generated_files/adc.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
build/default/production/mcc_generated_files/adc.p1: \
mcc_generated_files/adc.c \
mcc_generated_files/adc.h \
mcc_generated_files/device_config.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/cmp1.p1: \
mcc_generated_files/cmp1.c \
mcc_generated_files/cmp1.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/cmp2.p1: \
mcc_generated_files/cmp2.c \
mcc_generated_files/cmp2.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/cmp5.p1: \
mcc_generated_files/cmp5.c \
mcc_generated_files/cmp5.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/dac1.p1: \
mcc_generated_files/dac1.c \
mcc_generated_files/dac1.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/dac3.p1: \
mcc_generated_files/dac3.c \
mcc_generated_files/dac3.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/dac4.p1: \
mcc_generated_files/dac4.c \
mcc_generated_files/dac4.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/dac5.p1: \
mcc_generated_files/dac5.c \
mcc_generated_files/dac5.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/dac7.p1: \
mcc_generated_files/dac7.c \
mcc_generated_files/dac7.h

View File

@ -0,0 +1,31 @@
# 1 "mcc_generated_files/device_config.c"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 288 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "/opt/microchip/mplabx/v5.45/packs/Microchip/PIC12-16F1xxx_DFP/1.2.63/xc8/pic/include/language_support.h" 1 3
# 2 "<built-in>" 2
# 1 "mcc_generated_files/device_config.c" 2
# 50 "mcc_generated_files/device_config.c"
#pragma config FOSC = INTOSC
#pragma config WDTE = OFF
#pragma config PWRTE = OFF
#pragma config MCLRE = ON
#pragma config CP = OFF
#pragma config BOREN = ON
#pragma config CLKOUTEN = OFF
#pragma config IESO = ON
#pragma config FCMEN = ON
#pragma config WRT = OFF
#pragma config PPS1WAY = ON
#pragma config ZCD = OFF
#pragma config PLLEN = OFF
#pragma config STVREN = ON
#pragma config BORV = LO
#pragma config LPBOR = OFF
#pragma config LVP = ON
# 68 "mcc_generated_files/device_config.c"

View File

@ -0,0 +1,36 @@
Version 4.0 HI-TECH Software Intermediate Code
"50 mcc_generated_files/device_config.c
[p x FOSC = INTOSC ]
"51
[p x WDTE = OFF ]
"52
[p x PWRTE = OFF ]
"53
[p x MCLRE = ON ]
"54
[p x CP = OFF ]
"55
[p x BOREN = ON ]
"56
[p x CLKOUTEN = OFF ]
"57
[p x IESO = ON ]
"58
[p x FCMEN = ON ]
"61
[p x WRT = OFF ]
"62
[p x PPS1WAY = ON ]
"63
[p x ZCD = OFF ]
"64
[p x PLLEN = OFF ]
"65
[p x STVREN = ON ]
"66
[p x BORV = LO ]
"67
[p x LPBOR = OFF ]
"68
[; ;mcc_generated_files/device_config.c: 68:
[p x LVP = ON ]

View File

@ -0,0 +1,2 @@
build/default/production/mcc_generated_files/device_config.p1: \
mcc_generated_files/device_config.c

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/fvr.p1: \
mcc_generated_files/fvr.c \
mcc_generated_files/fvr.h

View File

@ -0,0 +1,18 @@
build/default/production/mcc_generated_files/interrupt_manager.p1: \
mcc_generated_files/interrupt_manager.c \
mcc_generated_files/interrupt_manager.h \
mcc_generated_files/mcc.h \
mcc_generated_files/device_config.h \
mcc_generated_files/pin_manager.h \
mcc_generated_files/dac5.h \
mcc_generated_files/dac4.h \
mcc_generated_files/dac7.h \
mcc_generated_files/cmp2.h \
mcc_generated_files/cmp1.h \
mcc_generated_files/fvr.h \
mcc_generated_files/cmp5.h \
mcc_generated_files/opa1.h \
mcc_generated_files/dac1.h \
mcc_generated_files/opa2.h \
mcc_generated_files/dac3.h \
mcc_generated_files/adc.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
build/default/production/mcc_generated_files/mcc.p1: \
mcc_generated_files/mcc.c \
mcc_generated_files/mcc.h \
mcc_generated_files/device_config.h \
mcc_generated_files/pin_manager.h \
mcc_generated_files/interrupt_manager.h \
mcc_generated_files/dac5.h \
mcc_generated_files/dac4.h \
mcc_generated_files/dac7.h \
mcc_generated_files/cmp2.h \
mcc_generated_files/cmp1.h \
mcc_generated_files/fvr.h \
mcc_generated_files/cmp5.h \
mcc_generated_files/opa1.h \
mcc_generated_files/dac1.h \
mcc_generated_files/opa2.h \
mcc_generated_files/dac3.h \
mcc_generated_files/adc.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/opa1.p1: \
mcc_generated_files/opa1.c \
mcc_generated_files/opa1.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/opa2.p1: \
mcc_generated_files/opa2.c \
mcc_generated_files/opa2.h

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
build/default/production/mcc_generated_files/pin_manager.p1: \
mcc_generated_files/pin_manager.c \
mcc_generated_files/pin_manager.h

279
firmware/B1-firmware.X/main.c Executable file
View File

@ -0,0 +1,279 @@
/**
Generated Main Source File
Company:
Microchip Technology Inc.
File Name:
main.c
Summary:
This is the main file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.00
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#include "mcc_generated_files/mcc.h"
/*
Main application
*/
//led states as (R,G,B)
#define LED_OFF 0x0
#define LED_GREEN 0x2
#define LED_BLUE 0x1
#define LED_RED 0x4
#define LED_CYAN (LED_BLUE | LED_GREEN)
#define LED_PURPLE (LED_BLUE | LED_RED)
#define LED_YELLOW (LED_RED | LED_GREEN)
#define LED_WHITE (LED_GREEN | LED_BLUE | LED_RED)
#define LOW_BATTERY_VOLTAGE 173
uint8_t mux_state = 0;
uint8_t led_color_state = LED_OFF;
//function prototypes
void set_led(uint8_t);
void init_sensor(void);
void reset_sensor(void);
void my_CMP2_ISR(void){
// clear the CMP2 interrupt flag
PIR2bits.C2IF = 0;
set_led(LED_RED);
}
void my_CMP1_ISR(void){
// clear the CMP1 interrupt flag
PIR2bits.C1IF = 0;
set_led(LED_RED);
}
//change state
void SW2_ISR(void){
switch(mux_state){
case 0: //low gain, high bandwidth
led_color_state = LED_GREEN;
MUX_SEL1_LAT = 1; //bandwidth select
MUX_SEL2_LAT = 1; //gain select
break;
case 1: //low gain, low bandwidth
led_color_state = LED_YELLOW;
MUX_SEL1_LAT = 0; //bandwidth select
MUX_SEL2_LAT = 1; //gain select
break;
case 2: // high gain, high bandwidth
led_color_state = LED_BLUE;
MUX_SEL1_LAT = 1; //bandwidth select
MUX_SEL2_LAT = 0; //gain select
break;
case 3: //high gain, low bandwidth
led_color_state = LED_CYAN;
MUX_SEL1_LAT = 0; //bandwidth select
MUX_SEL2_LAT = 0; //gain select
break;
}
set_led(led_color_state);
mux_state = (mux_state+1)%4;
__delay_ms(200); //delay for debounce
}
//zero system
void SW1_ISR(void){
//flash led at start
set_led(LED_OFF);
__delay_ms(200);
set_led(led_color_state);
reset_sensor();
__delay_ms(200);
if(SW1_GetValue() == 0){
//if switch is still depressed do a full zero
init_sensor();
}
//flash LED at end
set_led(LED_OFF);
__delay_ms(200);
set_led(led_color_state);
//zeroing system may trip over range comparators
PIR2bits.C2IF = 0;
PIR2bits.C1IF = 0;
}
uint16_t average_adc_reading(adc_channel_t read_ch){
uint16_t averaged_val = 0;
for (int i = 0; i<8; i++){
averaged_val = averaged_val + ADC_GetConversion(read_ch);
}
averaged_val = averaged_val;
return averaged_val;
}
void set_led(uint8_t led_color) {
LED_B_LAT = (~led_color>>2)&1;
LED_G_LAT = (~led_color>>1)&1;
LED_R_LAT = (~led_color)&1;
}
void zero_stage_1(void){
uint16_t gnd_ref_val;
uint16_t best_dac_val = 0;
uint16_t stage_val;
uint16_t best_val = (1<<12);
gnd_ref_val = average_adc_reading(GNDREF_SENSE);
for(uint16_t i = 0; i<1024; i++){
DAC1_Load10bitInputData(i);
__delay_ms(1);
stage_val = average_adc_reading(STAGE1_MON);
if ((stage_val-gnd_ref_val) < best_val){
best_val = (stage_val - gnd_ref_val);
best_dac_val = i;
}
}
DAC1_Load10bitInputData(best_dac_val);
}
void zero_stage_2(void){
uint16_t gnd_ref_val;
uint16_t best_dac_val = 0;
uint16_t stage_val;
uint16_t best_val = 2000;
gnd_ref_val = average_adc_reading(GNDREF_SENSE);
for(uint16_t i = 0; i<1024; i++){
DAC5_Load10bitInputData(i);
__delay_ms(1);
stage_val = average_adc_reading(STAGE2_MON);
if ((stage_val-gnd_ref_val) < best_val){
best_val = (stage_val - gnd_ref_val);
best_dac_val = i;
}
}
DAC5_Load10bitInputData(best_dac_val);
}
void init_sensor(void){
__delay_ms(50);
zero_stage_1();
__delay_ms(50);
zero_stage_2();
}
void reset_sensor(){
SR_SetLow();
__delay_ms(50);
SR_SetHigh();
__delay_ms(50);
SR_SetLow();
}
void low_battery_loop(){
while(1){
set_led(LED_OFF);
__delay_ms(500);
set_led(LED_RED);
__delay_ms(500);
}
}
void main(void)
{
// initialize the device
SYSTEM_Initialize();
DAC7_SetOutput(16); //set virtual ground to ~2.5V
DAC3_SetOutput(24); //set overload high comparator
DAC4_SetOutput(8); //set overload low comparator
led_color_state = LED_GREEN;
mux_state = 0;
SW2_ISR();//initialize LED and mux
reset_sensor();
init_sensor();
//zeroing system may trip over range comparators
PIR2bits.C2IF = 0;
PIR2bits.C1IF = 0;
//set interrupt handler for SW2
IOCBF0_SetInterruptHandler(SW2_ISR);
//set interrupt handler for SW1
IOCCF7_SetInterruptHandler(SW1_ISR);
INTERRUPT_GlobalInterruptEnable();
INTERRUPT_PeripheralInterruptEnable();
while (1)
{
__delay_ms(100);
if((average_adc_reading(VIN_SENSE)>>3) < LOW_BATTERY_VOLTAGE){
INTERRUPT_GlobalInterruptDisable();
INTERRUPT_PeripheralInterruptDisable();
low_battery_loop();
}
}
}
/**
End of File
*/

View File

@ -0,0 +1,144 @@
/**
ADC Generated Driver File
@Company
Microchip Technology Inc.
@File Name
adc.c
@Summary
This is the generated driver implementation file for the ADC driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for ADC.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "adc.h"
#include "device_config.h"
/**
Section: Macro Declarations
*/
#define ACQ_US_DELAY 5
void (*ADC_InterruptHandler)(void);
/**
Section: ADC Module APIs
*/
void ADC_Initialize(void)
{
// set the ADC to the options selected in the User Interface
// GO stop; ADON enabled; CHS AN0;
ADCON0 = 0x01;
// ADFM right; ADNREF VSS; ADPREF VDD; ADCS FOSC/8;
ADCON1 = 0x90;
// TRIGSEL no_auto_trigger;
ADCON2 = 0x00;
// ADRES 0;
ADRESL = 0x00;
// ADRES 0;
ADRESH = 0x00;
}
void ADC_SelectChannel(adc_channel_t channel)
{
// select the A/D channel
ADCON0bits.CHS = channel;
// Turn on the ADC module
ADCON0bits.ADON = 1;
}
void ADC_StartConversion(void)
{
// Start the conversion
ADCON0bits.GO = 1;
}
bool ADC_IsConversionDone(void)
{
// Start the conversion
return ((bool)(!ADCON0bits.GO));
}
adc_result_t ADC_GetConversionResult(void)
{
// Conversion finished, return the result
return ((adc_result_t)((ADRESH << 8) + ADRESL));
}
adc_result_t ADC_GetConversion(adc_channel_t channel)
{
// select the A/D channel
ADCON0bits.CHS = channel;
// Turn on the ADC module
ADCON0bits.ADON = 1;
// Acquisition time delay
__delay_us(ACQ_US_DELAY);
// Start the conversion
ADCON0bits.GO = 1;
// Wait for the conversion to finish
while (ADCON0bits.GO)
{
}
// Conversion finished, return the result
return ((adc_result_t)((ADRESH << 8) + ADRESL));
}
void ADC_TemperatureAcquisitionDelay(void)
{
__delay_us(200);
}
/**
End of File
*/

View File

@ -0,0 +1,339 @@
/**
ADC Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
adc.h
@Summary
This is the generated header file for the ADC driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for ADC.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef ADC_H
#define ADC_H
/**
Section: Included Files
*/
#include <xc.h>
#include <stdint.h>
#include <stdbool.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: Data Types Definitions
*/
/**
* result size of an A/D conversion
*/
typedef uint16_t adc_result_t;
/**
* result type of a Double ADC conversion
*/
typedef struct
{
adc_result_t adcResult1;
adc_result_t adcResult2;
} adc_sync_double_result_t;
/** ADC Channel Definition
@Summary
Defines the channels available for conversion.
@Description
This routine defines the channels that are available for the module to use.
Remarks:
None
*/
typedef enum
{
GNDREF_SENSE = 0x0,
VIN_SENSE = 0xD,
STAGE2_MON = 0xE,
STAGE1_MON = 0xF,
channel_Switched_AN1 = 0x21,
channel_Switched_AN10 = 0x2A,
channel_Switched_AN18 = 0x32,
channel_DAC7_Output = 0x37,
channel_DAC5_Output = 0x39,
channel_DAC4_Output = 0x3A,
channel_DAC3_Output = 0x3B,
channel_DAC2_Output = 0x3C,
channel_Temp = 0x3D,
channel_DAC1_Output = 0x3E,
channel_FVRBuffer1 = 0x3F
} adc_channel_t;
/**
Section: ADC Module APIs
*/
/**
@Summary
Initializes the ADC
@Description
This routine initializes the Initializes the ADC.
This routine must be called before any other ADC routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
convertedValue = ADC_GetConversionResult();
</code>
*/
void ADC_Initialize(void);
/**
@Summary
Allows selection of a channel for conversion
@Description
This routine is used to select desired channel for conversion.
available
@Preconditions
ADC_Initialize() function should have been called before calling this function.
@Returns
None
@Param
Pass in required channel number
"For available channel refer to enum under adc.h file"
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
ADC_SelectChannel(AN1_Channel);
ADC_StartConversion();
convertedValue = ADC_GetConversionResult();
</code>
*/
void ADC_SelectChannel(adc_channel_t channel);
/**
@Summary
Starts conversion
@Description
This routine is used to start conversion of desired channel.
@Preconditions
ADC_Initialize() function should have been called before calling this function.
@Returns
None
@Param
None
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
ADC_StartConversion();
convertedValue = ADC_GetConversionResult();
</code>
*/
void ADC_StartConversion(void);
/**
@Summary
Returns true when the conversion is completed otherwise false.
@Description
This routine is used to determine if conversion is completed.
When conversion is complete routine returns true. It returns false otherwise.
@Preconditions
ADC_Initialize() and ADC_StartConversion(void)
function should have been called before calling this function.
@Returns
true - If conversion is complete
false - If conversion is not completed
@Param
None
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
ADC_StartConversion();
while(!ADC_IsConversionDone());
convertedValue = ADC_GetConversionResult();
</code>
*/
bool ADC_IsConversionDone(void);
/**
@Summary
Returns the ADC conversion value.
@Description
This routine is used to get the analog to digital converted value. This
routine gets converted values from the channel specified.
@Preconditions
This routine returns the conversion value only after the conversion is complete.
Completion status can be checked using
ADC_IsConversionDone() routine.
@Returns
Returns the converted value.
@Param
None
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
ADC_StartConversion();
while(ADC_IsConversionDone());
convertedValue = ADC_GetConversionResult();
</code>
*/
adc_result_t ADC_GetConversionResult(void);
/**
@Summary
Returns the ADC conversion value
also allows selection of a channel for conversion.
@Description
This routine is used to select desired channel for conversion
and to get the analog to digital converted value.
@Preconditions
ADC_Initialize() function should have been called before calling this function.
@Returns
Returns the converted value.
@Param
Pass in required channel number.
"For available channel refer to enum under adc.h file"
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
conversion = ADC_GetConversion(AN1_Channel);
</code>
*/
adc_result_t ADC_GetConversion(adc_channel_t channel);
/**
@Summary
Acquisition Delay for temperature sensor
@Description
This routine should be called when temperature sensor is used.
@Preconditions
ADC_Initialize() function should have been called before calling this function.
@Returns
None
@Param
None
@Example
<code>
uint16_t convertedValue;
ADC_Initialize();
ADC_StartConversion();
ADC_temperatureAcquisitionDelay();
convertedValue = ADC_GetConversionResult();
</code>
*/
void ADC_TemperatureAcquisitionDelay(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif //ADC_H
/**
End of File
*/

View File

@ -0,0 +1,102 @@
/**
CMP1 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
cmp1.c
@Summary
This is the generated driver implementation file for the CMP1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for CMP1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "cmp1.h"
/**
Section: CMP1 APIs
*/
void CMP1_Initialize(void)
{
/* Disable CMP1 interrupt before configuring the CMP1
control register. Although a comparator is disabled, an interrupt can be
generated by changing the output polarity with the CxPOL bit of the
CMxCON0 register,or by switching the comparator on or off with the CxON
bit of the CMxCON0 register.*/
PIE2bits.C1IE = 0;
// C1HYS disabled; C1SP hi_speed; C1ON enabled; C1POL not inverted; C1SYNC asynchronous; C1ZLF filtered;
CM1CON0 = 0x8C;
// C1INTN intFlag_neg; C1INTP no_intFlag;
CM1CON1 = 0x01;
// C1NCH CIN4-;
CM1NSEL = 0x04;
// C1PCH DAC3;
CM1PSEL = 0x07;
//
CMOUT = 0x00;
// Clearing IF flag before enabling the interrupt.
PIR2bits.C1IF = 0;
// Enabling CMP1 interrupt.
PIE2bits.C1IE = 1;
}
bool CMP1_GetOutputStatus(void)
{
return (CMOUTbits.MC1OUT);
}
void CMP1_ISR(void)
{
// clear the CMP1 interrupt flag
PIR2bits.C1IF = 0;
}
/**
End of File
*/

View File

@ -0,0 +1,161 @@
/**
CMP1 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
cmp1.h
@Summary
This is the generated header file for the CMP1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for CMP1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef CMP1_H
#define CMP1_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: CMP1 APIs
*/
/**
@Summary
Initializes the CMP1
@Description
This routine initializes the CMP1.
This routine must be called before any other CMP1 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
CMP1_Initialize();
</code>
*/
void CMP1_Initialize(void);
/**
@Summary
Gets the CMP1 output status.
@Description
This routine gets the CMP1 output status.
@Preconditions
The CMP1 initializer routine should be called
prior to use this routine.
@Param
None
@Returns
high - if the CMP1 output is high.
low - if the CMP1 output is low.
@Example
<code>
#define LED_On LATAbits.LATA0=1
#define LED_Off LATAbits.LATA0=0
CMP1_Initialize();
while(1)
{
if(CMP1_GetOutputStatus())
{
LED_On;
}
else
{
LED_Off;
}
}
</code>
*/
bool CMP1_GetOutputStatus(void);
/**
@Summary
Implements ISR
@Description
This routine is used to implement the ISR for the interrupt-driven
implementations.
@Returns
None
@Param
None
*/
void CMP1_ISR(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // CMP1_H
/**
End of File
*/

View File

@ -0,0 +1,102 @@
/**
CMP2 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
cmp2.c
@Summary
This is the generated driver implementation file for the CMP2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for CMP2.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "cmp2.h"
/**
Section: CMP2 APIs
*/
void CMP2_Initialize(void)
{
/* Disable CMP2 interrupt before configuring the CMP2
control register. Although a comparator is disabled, an interrupt can be
generated by changing the output polarity with the CxPOL bit of the
CMxCON0 register,or by switching the comparator on or off with the CxON
bit of the CMxCON0 register.*/
PIE2bits.C2IE = 0;
// C2HYS disabled; C2SP hi_speed; C2ON enabled; C2POL inverted; C2SYNC asynchronous; C2ZLF filtered;
CM2CON0 = 0x9C;
// C2INTN no_intFlag; C2INTP intFlag_pos;
CM2CON1 = 0x02;
// C2NCH CIN4-;
CM2NSEL = 0x04;
// C2PCH DAC4;
CM2PSEL = 0x08;
//
CMOUT = 0x00;
// Clearing IF flag before enabling the interrupt.
PIR2bits.C2IF = 0;
// Enabling CMP2 interrupt.
PIE2bits.C2IE = 1;
}
bool CMP2_GetOutputStatus(void)
{
return (CMOUTbits.MC2OUT);
}
void CMP2_ISR(void)
{
// clear the CMP2 interrupt flag
PIR2bits.C2IF = 0;
}
/**
End of File
*/

View File

@ -0,0 +1,161 @@
/**
CMP2 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
cmp2.h
@Summary
This is the generated header file for the CMP2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for CMP2.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef CMP2_H
#define CMP2_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: CMP2 APIs
*/
/**
@Summary
Initializes the CMP2
@Description
This routine initializes the CMP2.
This routine must be called before any other CMP2 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
CMP2_Initialize();
</code>
*/
void CMP2_Initialize(void);
/**
@Summary
Gets the CMP2 output status.
@Description
This routine gets the CMP2 output status.
@Preconditions
The CMP2 initializer routine should be called
prior to use this routine.
@Param
None
@Returns
high - if the CMP2 output is high.
low - if the CMP2 output is low.
@Example
<code>
#define LED_On LATAbits.LATA0=1
#define LED_Off LATAbits.LATA0=0
CMP2_Initialize();
while(1)
{
if(CMP2_GetOutputStatus())
{
LED_On;
}
else
{
LED_Off;
}
}
</code>
*/
bool CMP2_GetOutputStatus(void);
/**
@Summary
Implements ISR
@Description
This routine is used to implement the ISR for the interrupt-driven
implementations.
@Returns
None
@Param
None
*/
void CMP2_ISR(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // CMP2_H
/**
End of File
*/

View File

@ -0,0 +1,86 @@
/**
CMP5 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
cmp5.c
@Summary
This is the generated driver implementation file for the CMP5 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for CMP5.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "cmp5.h"
/**
Section: CMP5 APIs
*/
void CMP5_Initialize(void)
{
// C5HYS disabled; C5SP hi_speed; C5ON disabled; C5POL not inverted; C5SYNC asynchronous; C5ZLF unfiltered;
CM5CON0 = 0x04;
// C5INTN no_intFlag; C5INTP no_intFlag;
CM5CON1 = 0x00;
// C5NCH Vss;
CM5NSEL = 0x08;
// C5PCH Vss;
CM5PSEL = 0x09;
// MC5OUT 0;
CMOUT = 0x00;
}
bool CMP5_GetOutputStatus(void)
{
return (CMOUTbits.MC5OUT);
}
/**
End of File
*/

View File

@ -0,0 +1,146 @@
/**
CMP5 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
cmp5.h
@Summary
This is the generated header file for the CMP5 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for CMP5.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef CMP5_H
#define CMP5_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: CMP5 APIs
*/
/**
@Summary
Initializes the CMP5
@Description
This routine initializes the CMP5.
This routine must be called before any other CMP5 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
CMP5_Initialize();
</code>
*/
void CMP5_Initialize(void);
/**
@Summary
Gets the CMP5 output status.
@Description
This routine gets the CMP5 output status.
@Preconditions
The CMP5 initializer routine should be called
prior to use this routine.
@Param
None
@Returns
high - if the CMP5 output is high.
low - if the CMP5 output is low.
@Example
<code>
#define LED_On LATAbits.LATA0=1
#define LED_Off LATAbits.LATA0=0
CMP5_Initialize();
while(1)
{
if(CMP5_GetOutputStatus())
{
LED_On;
}
else
{
LED_Off;
}
}
</code>
*/
bool CMP5_GetOutputStatus(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // CMP5_H
/**
End of File
*/

View File

@ -0,0 +1,134 @@
/**
DAC1 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
dac1.c
@Summary
This is the generated driver implementation file for the DAC1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for DAC1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "dac1.h"
/**
Section: Macros
*/
/**
* Loads data from DAC buffer onto the DAC output
*/
#define DAC1_DoubleBufferLatch() \
(DACLDbits.DAC1LD = 1)
/**
Section: DAC1 APIs
*/
void DAC1_Initialize(void)
{
// DAC1FM right justified; DACEN enabled; DACNSS VSS; DACPSS VDD; DACOE1 enabled; DACOE2 disabled;
DAC1CON0 = 0xA0;
//
DAC1REFH = 0x00;
//
DAC1REFL = 0xCD;
//Loading DAC1 double buffer data to latch.
DAC1_DoubleBufferLatch();
}
void DAC1_Load16bitInputData(uint16_t input16BitData)
{
//DAC input reference range should be 16bit.
//Input data left justified.
DAC1CON0bits.DAC1FM = 1;
//Loading 16bit data to DAC1
DAC1REFL = (uint8_t) input16BitData;
DAC1REFH = (uint8_t)(input16BitData >> 8);
//Loading DAC1 double buffer data to latch.
DAC1_DoubleBufferLatch();
}
void DAC1_Load10bitInputData(uint16_t input10BitData)
{
//DAC input reference range should be 10bit.
//Input data right justified.
DAC1CON0bits.DAC1FM = 0;
//Loading 10bit data to DAC1
DAC1REFL = (uint8_t) input10BitData;
DAC1REFH = (uint8_t)(input10BitData >> 8);
//Loading DAC1 double buffer data to latch.
DAC1_DoubleBufferLatch();
}
void DAC1_Load8bitInputData(uint8_t input8BitData)
{
//DAC input reference range should be 8 bit.
//Input data right justified.
DAC1CON0bits.DAC1FM = 0;
//Loading 10bit data to DAC1
DAC1REFL = input8BitData;
//Loading DAC1 double buffer data to latch.
DAC1_DoubleBufferLatch();
}
uint16_t DAC1_Read10BitInputData(void) {
// Right justified, to match ?load? function
DAC1CON0bits.DAC1FM = 0;
// Read data
uint16_t data = ((uint16_t) DAC1REFH) << 8;
data |= ((uint16_t) DAC1REFL);
return data;
}
/**
End of File
*/

View File

@ -0,0 +1,227 @@
/**
DAC1 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
dac1.h
@Summary
This is the generated header file for the DAC1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for DAC1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DAC1_H
#define DAC1_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: DAC1 APIs
*/
/**
@Summary
Initializes the DAC1
@Description
This routine initializes the DAC1.
This routine must be called before any other DAC1 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
DAC1_Initialize();
</code>
*/
void DAC1_Initialize(void);
/**
@Summary
Load 16bit input data to DAC1.
@Description
This routine passes the 16bit input data into
DAC1 voltage reference control register.This data will
be left justified.
@Preconditions
The DAC1_Initialize() routine should be called
before using this routine.DAC input reference range should be 16bit.
@Param
input16BitData - 16bit input data to DAC1.
@Returns
None
@Example
<code>
uint16_t count=0xFFFF;
DAC1_Initialize();
DAC1_Load16bitInputData(count);
while(1)
{
}
</code>
*/
void DAC1_Load16bitInputData(uint16_t input16BitData);
/**
@Summary
Load 10bit input data to DAC1.
@Description
This routine passes the 10bit input data into DAC1
voltage reference control register.This data will be right justified.
@Preconditions
The DAC1_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Param
input10BitData - 10bit input data to DAC1.
@Returns
None
@Example
<code>
uint16_t count=0x3FF;
DAC1_Initialize();
DAC1_Load10bitInputData(count);
while(1)
{
}
</code>
*/
void DAC1_Load10bitInputData(uint16_t input10BitData);
/**
@Summary
Load 8 bit input data to DAC1.
@Description
This routine passes the 8 bit input data into DAC1
voltage reference control register.This data will be right justified.
@Preconditions
The DAC1_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Param
input8BitData - 8 bit input data to DAC1.
@Returns
None
@Example
<code>
uint8_t count=0x3F;
DAC1_Initialize();
DAC1_Load8bitInputData(count);
while(1)
{
}
</code>
*/
void DAC1_Load8bitInputData(uint8_t input8BitData);
/**
@Summary
Read 10bit data from DAC1.
@Description
This routine reads the 10bit data from DAC1
voltage reference control register.This data will be right justified.
@Preconditions
The DAC1_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Returns
uint16_t - 10bit data from DAC1.
@Example
<code>
uint16_t count=0x3FF;
DAC1_Initialize();
DAC1_Load10bitInputData(count);
// Make sure data was written to DAC correctly
__conditional_software_breakpoint(count == DAC1_Read10BitInputData(count));
</code>
*/
uint16_t DAC1_Read10BitInputData(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // DAC1_H
/**
End of File
*/

View File

@ -0,0 +1,77 @@
/**
DAC3 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
dac3.c
@Summary
This is the generated driver implementation file for the DAC3 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for DAC3.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "dac3.h"
/**
Section: DAC3 APIs
*/
void DAC3_Initialize(void)
{
// DAC3EN enabled; NSS VSS; DAC3PSS VDD; OE1 disabled; OE2 disabled;
DAC3CON0 = 0x80;
// DAC3R 6;
DAC3CON1 = 0x06;
}
void DAC3_SetOutput(uint8_t inputData)
{
DAC3CON1 = inputData;
}
uint8_t DAC3_GetOutput(void)
{
return DAC3CON1;
}
/**
End of File
*/

View File

@ -0,0 +1,174 @@
/**
DAC3 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
dac3.h
@Summary
This is the generated header file for the DAC3 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for DAC3.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DAC3_H
#define DAC3_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: DAC3 APIs
*/
/**
@Summary
Initializes the DAC3
@Description
This routine initializes the DAC3.
This routine must be called before any other DAC3 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
DAC3_Initialize();
</code>
*/
void DAC3_Initialize(void);
/**
@Summary
Set Input data into DAC3.
@Description
This routine pass the digital input data into
DAC3 voltage reference control register.
@Preconditions
The DAC3_Initialize() routine should be called
prior to use this routine.
@Param
inputData - 8bit digital data to DAC3.
@Returns
None
@Example
<code>
uint8_t count=0;
DAC3_Initialize();
for(count=0; count<=30; count++)
{
DAC3_SetOutput(count);
}
while(1)
{
}
</code>
*/
void DAC3_SetOutput(uint8_t inputData);
/**
@Summary
Read input data fed to DAC3.
@Description
This routine reads the digital input data fed to
DAC3 voltage reference control register.
@Preconditions
The DAC3_Initialize() routine should be called
prior to use this routine.
@Param
None
@Returns
uint8_t inputData - digital data fed to DAC3
@Example
<code>
uint8_t count=0;
uint8_t inputData;
DAC3_Initialize();
inputData = DAC3_GetOutput();
while(1)
{
}
</code>
*/
uint8_t DAC3_GetOutput(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // DAC3_H
/**
End of File
*/

View File

@ -0,0 +1,77 @@
/**
DAC4 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
dac4.c
@Summary
This is the generated driver implementation file for the DAC4 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for DAC4.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "dac4.h"
/**
Section: DAC4 APIs
*/
void DAC4_Initialize(void)
{
// DAC4EN enabled; NSS VSS; DAC4PSS VDD; OE1 disabled; OE2 disabled;
DAC4CON0 = 0x80;
// DAC4R 6;
DAC4CON1 = 0x06;
}
void DAC4_SetOutput(uint8_t inputData)
{
DAC4CON1 = inputData;
}
uint8_t DAC4_GetOutput(void)
{
return DAC4CON1;
}
/**
End of File
*/

View File

@ -0,0 +1,174 @@
/**
DAC4 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
dac4.h
@Summary
This is the generated header file for the DAC4 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for DAC4.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DAC4_H
#define DAC4_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: DAC4 APIs
*/
/**
@Summary
Initializes the DAC4
@Description
This routine initializes the DAC4.
This routine must be called before any other DAC4 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
DAC4_Initialize();
</code>
*/
void DAC4_Initialize(void);
/**
@Summary
Set Input data into DAC4.
@Description
This routine pass the digital input data into
DAC4 voltage reference control register.
@Preconditions
The DAC4_Initialize() routine should be called
prior to use this routine.
@Param
inputData - 8bit digital data to DAC4.
@Returns
None
@Example
<code>
uint8_t count=0;
DAC4_Initialize();
for(count=0; count<=30; count++)
{
DAC4_SetOutput(count);
}
while(1)
{
}
</code>
*/
void DAC4_SetOutput(uint8_t inputData);
/**
@Summary
Read input data fed to DAC4.
@Description
This routine reads the digital input data fed to
DAC4 voltage reference control register.
@Preconditions
The DAC4_Initialize() routine should be called
prior to use this routine.
@Param
None
@Returns
uint8_t inputData - digital data fed to DAC4
@Example
<code>
uint8_t count=0;
uint8_t inputData;
DAC4_Initialize();
inputData = DAC4_GetOutput();
while(1)
{
}
</code>
*/
uint8_t DAC4_GetOutput(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // DAC4_H
/**
End of File
*/

View File

@ -0,0 +1,134 @@
/**
DAC5 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
dac5.c
@Summary
This is the generated driver implementation file for the DAC5 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for DAC5.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "dac5.h"
/**
Section: Macros
*/
/**
* Loads data from DAC buffer onto the DAC output
*/
#define DAC5_DoubleBufferLatch() \
(DACLDbits.DAC5LD = 1)
/**
Section: DAC5 APIs
*/
void DAC5_Initialize(void)
{
// DAC5FM right justified; DACEN enabled; DACNSS VSS; DACPSS VDD; DACOE1 enabled; DACOE2 disabled;
DAC5CON0 = 0xA0;
//
DAC5REFH = 0x00;
//
DAC5REFL = 0xCD;
//Loading DAC5 double buffer data to latch.
DAC5_DoubleBufferLatch();
}
void DAC5_Load16bitInputData(uint16_t input16BitData)
{
//DAC input reference range should be 16bit.
//Input data left justified.
DAC5CON0bits.DAC5FM = 1;
//Loading 16bit data to DAC5
DAC5REFL = (uint8_t) input16BitData;
DAC5REFH = (uint8_t)(input16BitData >> 8);
//Loading DAC5 double buffer data to latch.
DAC5_DoubleBufferLatch();
}
void DAC5_Load10bitInputData(uint16_t input10BitData)
{
//DAC input reference range should be 10bit.
//Input data right justified.
DAC5CON0bits.DAC5FM = 0;
//Loading 10bit data to DAC5
DAC5REFL = (uint8_t) input10BitData;
DAC5REFH = (uint8_t)(input10BitData >> 8);
//Loading DAC5 double buffer data to latch.
DAC5_DoubleBufferLatch();
}
void DAC5_Load8bitInputData(uint8_t input8BitData)
{
//DAC input reference range should be 8 bit.
//Input data right justified.
DAC5CON0bits.DAC5FM = 0;
//Loading 10bit data to DAC5
DAC5REFL = input8BitData;
//Loading DAC5 double buffer data to latch.
DAC5_DoubleBufferLatch();
}
uint16_t DAC5_Read10BitInputData(void) {
// Right justified, to match ?load? function
DAC5CON0bits.DAC5FM = 0;
// Read data
uint16_t data = ((uint16_t) DAC5REFH) << 8;
data |= ((uint16_t) DAC5REFL);
return data;
}
/**
End of File
*/

View File

@ -0,0 +1,227 @@
/**
DAC5 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
dac5.h
@Summary
This is the generated header file for the DAC5 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for DAC5.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DAC5_H
#define DAC5_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: DAC5 APIs
*/
/**
@Summary
Initializes the DAC5
@Description
This routine initializes the DAC5.
This routine must be called before any other DAC5 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
DAC5_Initialize();
</code>
*/
void DAC5_Initialize(void);
/**
@Summary
Load 16bit input data to DAC5.
@Description
This routine passes the 16bit input data into
DAC5 voltage reference control register.This data will
be left justified.
@Preconditions
The DAC5_Initialize() routine should be called
before using this routine.DAC input reference range should be 16bit.
@Param
input16BitData - 16bit input data to DAC5.
@Returns
None
@Example
<code>
uint16_t count=0xFFFF;
DAC5_Initialize();
DAC5_Load16bitInputData(count);
while(1)
{
}
</code>
*/
void DAC5_Load16bitInputData(uint16_t input16BitData);
/**
@Summary
Load 10bit input data to DAC5.
@Description
This routine passes the 10bit input data into DAC5
voltage reference control register.This data will be right justified.
@Preconditions
The DAC5_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Param
input10BitData - 10bit input data to DAC5.
@Returns
None
@Example
<code>
uint16_t count=0x3FF;
DAC5_Initialize();
DAC5_Load10bitInputData(count);
while(1)
{
}
</code>
*/
void DAC5_Load10bitInputData(uint16_t input10BitData);
/**
@Summary
Load 8 bit input data to DAC5.
@Description
This routine passes the 8 bit input data into DAC5
voltage reference control register.This data will be right justified.
@Preconditions
The DAC5_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Param
input8BitData - 8 bit input data to DAC5.
@Returns
None
@Example
<code>
uint8_t count=0x3F;
DAC5_Initialize();
DAC5_Load8bitInputData(count);
while(1)
{
}
</code>
*/
void DAC5_Load8bitInputData(uint8_t input8BitData);
/**
@Summary
Read 10bit data from DAC5.
@Description
This routine reads the 10bit data from DAC5
voltage reference control register.This data will be right justified.
@Preconditions
The DAC5_Initialize() routine should be called
before using this routine.DAC input reference range should be 10bit.
@Returns
uint16_t - 10bit data from DAC5.
@Example
<code>
uint16_t count=0x3FF;
DAC5_Initialize();
DAC5_Load10bitInputData(count);
// Make sure data was written to DAC correctly
__conditional_software_breakpoint(count == DAC5_Read10BitInputData(count));
</code>
*/
uint16_t DAC5_Read10BitInputData(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // DAC5_H
/**
End of File
*/

View File

@ -0,0 +1,77 @@
/**
DAC7 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
dac7.c
@Summary
This is the generated driver implementation file for the DAC7 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for DAC7.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "dac7.h"
/**
Section: DAC7 APIs
*/
void DAC7_Initialize(void)
{
// DAC7EN enabled; NSS VSS; DAC7PSS VDD; OE1 enabled; OE2 disabled;
DAC7CON0 = 0xA0;
// DAC7R 6;
DAC7CON1 = 0x06;
}
void DAC7_SetOutput(uint8_t inputData)
{
DAC7CON1 = inputData;
}
uint8_t DAC7_GetOutput(void)
{
return DAC7CON1;
}
/**
End of File
*/

View File

@ -0,0 +1,174 @@
/**
DAC7 Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
dac7.h
@Summary
This is the generated header file for the DAC7 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for DAC7.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.10
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DAC7_H
#define DAC7_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: DAC7 APIs
*/
/**
@Summary
Initializes the DAC7
@Description
This routine initializes the DAC7.
This routine must be called before any other DAC7 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
DAC7_Initialize();
</code>
*/
void DAC7_Initialize(void);
/**
@Summary
Set Input data into DAC7.
@Description
This routine pass the digital input data into
DAC7 voltage reference control register.
@Preconditions
The DAC7_Initialize() routine should be called
prior to use this routine.
@Param
inputData - 8bit digital data to DAC7.
@Returns
None
@Example
<code>
uint8_t count=0;
DAC7_Initialize();
for(count=0; count<=30; count++)
{
DAC7_SetOutput(count);
}
while(1)
{
}
</code>
*/
void DAC7_SetOutput(uint8_t inputData);
/**
@Summary
Read input data fed to DAC7.
@Description
This routine reads the digital input data fed to
DAC7 voltage reference control register.
@Preconditions
The DAC7_Initialize() routine should be called
prior to use this routine.
@Param
None
@Returns
uint8_t inputData - digital data fed to DAC7
@Example
<code>
uint8_t count=0;
uint8_t inputData;
DAC7_Initialize();
inputData = DAC7_GetOutput();
while(1)
{
}
</code>
*/
uint8_t DAC7_GetOutput(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // DAC7_H
/**
End of File
*/

View File

@ -0,0 +1,68 @@
/**
@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Source File
@Company:
Microchip Technology Inc.
@File Name:
mcc.c
@Summary:
This is the device_config.c file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.00
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
// Configuration bits: selected in the GUI
// CONFIG1
#pragma config FOSC = INTOSC // Oscillator Selection Bits->INTOSC oscillator: I/O function on CLKIN pin
#pragma config WDTE = OFF // Watchdog Timer Enable->WDT disabled
#pragma config PWRTE = OFF // Power-up Timer Enable->PWRT disabled
#pragma config MCLRE = ON // MCLR Pin Function Select->MCLR/VPP pin function is MCLR
#pragma config CP = OFF // Flash Program Memory Code Protection->Program memory code protection is disabled
#pragma config BOREN = ON // Brown-out Reset Enable->Brown-out Reset enabled
#pragma config CLKOUTEN = OFF // Clock Out Enable->CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin
#pragma config IESO = ON // Internal/External Switchover Mode->Internal/External Switchover Mode is enabled
#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable->Fail-Safe Clock Monitor is enabled
// CONFIG2
#pragma config WRT = OFF // Flash Memory Self-Write Protection->Write protection off
#pragma config PPS1WAY = ON // Peripheral Pin Select one-way control->The PPSLOCK bit cannot be cleared once it is set by software
#pragma config ZCD = OFF // Zero-cross detect disable->Zero-cross detect circuit is disabled at POR
#pragma config PLLEN = OFF // Phase Lock Loop enable->4x PLL is enabled when software sets the SPLLEN bit
#pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable->Stack Overflow or Underflow will cause a Reset
#pragma config BORV = LO // Brown-out Reset Voltage Selection->Brown-out Reset Voltage (Vbor), low trip point selected.
#pragma config LPBOR = OFF // Low-Power Brown Out Reset->Low-Power BOR is disabled
#pragma config LVP = ON // Low-Voltage Programming Enable->Low-voltage programming enabled

View File

@ -0,0 +1,55 @@
/**
@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Header File
@Company:
Microchip Technology Inc.
@File Name:
mcc.c
@Summary:
This is the device_config.h file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.00
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef DEVICE_CONFIG_H
#define DEVICE_CONFIG_H
#define _XTAL_FREQ 8000000
#endif /* DEVICE_CONFIG_H */
/**
End of File
*/

View File

@ -0,0 +1,71 @@
/**
FVR Generated Driver File
@Company
Microchip Technology Inc.
@File Name
fvr.c
@Summary
This is the generated driver implementation file for the FVR driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides APIs for FVR.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "fvr.h"
/**
Section: FVR APIs
*/
void FVR_Initialize(void)
{
// CDAFVR off; FVREN disabled; TSRNG Lo_range; ADFVR off; TSEN disabled;
FVRCON = 0x00;
}
bool FVR_IsOutputReady(void)
{
return (FVRCONbits.FVRRDY);
}
/**
End of File
*/

View File

@ -0,0 +1,139 @@
/**
FVR Generated Driver API Header File
@Company
Microchip Technology Inc.
@File Name
fvr.h
@Summary
This is the generated header file for the FVR driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for FVR.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef FVR_H
#define FVR_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: FVR APIs
*/
/**
@Summary
Initializes the FVR
@Description
This routine initializes the FVR.
This routine must be called before any other FVR routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
@Example
<code>
FVR_Initialize();
</code>
*/
void FVR_Initialize(void);
/**
@Summary
Gets the FVR output ready status.
@Description
This routine gets the FVR output ready status.
@Preconditions
The FVR_Initialize() routine should be called
prior to use this routine.
@Param
None
@Returns
true - FVR module is ready for use.
false - FVR module is not ready for use.
@Example
<code>
FVR_Initialize();
if(FVR_IsOutputReady())
{
//user code
}
else
{
//user code
}
</code>
*/
bool FVR_IsOutputReady(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // FVR_H
/**
End of File
*/

View File

@ -0,0 +1,87 @@
/**
Generated Interrupt Manager Source File
@Company:
Microchip Technology Inc.
@File Name:
interrupt_manager.c
@Summary:
This is the Interrupt Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for global interrupt handling.
For individual peripheral handlers please see the peripheral driver for
all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.03
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#include "interrupt_manager.h"
#include "mcc.h"
void __interrupt() INTERRUPT_InterruptManager (void)
{
// interrupt handler
if(INTCONbits.IOCIE == 1 && INTCONbits.IOCIF == 1)
{
PIN_MANAGER_IOC();
}
else if(INTCONbits.PEIE == 1)
{
if(PIE2bits.C2IE == 1 && PIR2bits.C2IF == 1)
{
CMP2_ISR();
LED_B_LAT = (~0x04>>2)&1;
LED_G_LAT = (~0x04>>1)&1;
LED_R_LAT = (~0x04)&1;
}
else if(PIE2bits.C1IE == 1 && PIR2bits.C1IF == 1)
{
CMP1_ISR();
LED_B_LAT = (~0x04>>2)&1;
LED_G_LAT = (~0x04>>1)&1;
LED_R_LAT = (~0x04)&1;
}
else
{
//Unhandled Interrupt
}
}
else
{
//Unhandled Interrupt
}
}
/**
End of File
*/

View File

@ -0,0 +1,104 @@
/**
Generated Interrupt Manager Header File
@Company:
Microchip Technology Inc.
@File Name:
interrupt_manager.h
@Summary:
This is the Interrupt Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for global interrupt handling.
For individual peripheral handlers please see the peripheral driver for
all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.03
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef INTERRUPT_MANAGER_H
#define INTERRUPT_MANAGER_H
/**
* @Param
none
* @Returns
none
* @Description
This macro will enable global interrupts.
* @Example
INTERRUPT_GlobalInterruptEnable();
*/
#define INTERRUPT_GlobalInterruptEnable() (INTCONbits.GIE = 1)
/**
* @Param
none
* @Returns
none
* @Description
This macro will disable global interrupts.
* @Example
INTERRUPT_GlobalInterruptDisable();
*/
#define INTERRUPT_GlobalInterruptDisable() (INTCONbits.GIE = 0)
/**
* @Param
none
* @Returns
none
* @Description
This macro will enable peripheral interrupts.
* @Example
INTERRUPT_PeripheralInterruptEnable();
*/
#define INTERRUPT_PeripheralInterruptEnable() (INTCONbits.PEIE = 1)
/**
* @Param
none
* @Returns
none
* @Description
This macro will disable peripheral interrupts.
* @Example
INTERRUPT_PeripheralInterruptDisable();
*/
#define INTERRUPT_PeripheralInterruptDisable() (INTCONbits.PEIE = 0)
#endif // INTERRUPT_MANAGER_H
/**
End of File
*/

View File

@ -0,0 +1,90 @@
/**
@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Source File
@Company:
Microchip Technology Inc.
@File Name:
mcc.c
@Summary:
This is the mcc.c file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.00
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#include "mcc.h"
void SYSTEM_Initialize(void)
{
PIN_MANAGER_Initialize();
OSCILLATOR_Initialize();
WDT_Initialize();
DAC3_Initialize();
CMP2_Initialize();
FVR_Initialize();
DAC5_Initialize();
OPA2_Initialize();
DAC4_Initialize();
CMP1_Initialize();
DAC7_Initialize();
CMP5_Initialize();
ADC_Initialize();
OPA1_Initialize();
DAC1_Initialize();
}
void OSCILLATOR_Initialize(void)
{
// SCS FOSC; SPLLEN disabled; IRCF 8MHz_HF;
OSCCON = 0x70;
// SOSCR enabled;
OSCSTAT = 0x80;
// TUN 0;
OSCTUNE = 0x00;
// SBOREN disabled; BORFS disabled;
BORCON = 0x00;
}
void WDT_Initialize(void)
{
// WDTPS 1:65536; SWDTEN OFF;
WDTCON = 0x16;
}
/**
End of File
*/

View File

@ -0,0 +1,112 @@
/**
@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Header File
@Company:
Microchip Technology Inc.
@File Name:
mcc.h
@Summary:
This is the mcc.h file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description:
This header file provides implementations for driver APIs for all modules selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.00
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above or later
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef MCC_H
#define MCC_H
#include <xc.h>
#include "device_config.h"
#include "pin_manager.h"
#include <stdint.h>
#include <stdbool.h>
#include <conio.h>
#include "interrupt_manager.h"
#include "dac5.h"
#include "dac4.h"
#include "dac7.h"
#include "cmp2.h"
#include "cmp1.h"
#include "fvr.h"
#include "cmp5.h"
#include "opa1.h"
#include "dac1.h"
#include "opa2.h"
#include "dac3.h"
#include "adc.h"
/**
* @Param
none
* @Returns
none
* @Description
Initializes the device to the default states configured in the
* MCC GUI
* @Example
SYSTEM_Initialize(void);
*/
void SYSTEM_Initialize(void);
/**
* @Param
none
* @Returns
none
* @Description
Initializes the oscillator to the default states configured in the
* MCC GUI
* @Example
OSCILLATOR_Initialize(void);
*/
void OSCILLATOR_Initialize(void);
/**
* @Param
none
* @Returns
none
* @Description
Initializes the WDT module to the default states configured in the
* MCC GUI
* @Example
WDT_Initialize(void);
*/
void WDT_Initialize(void);
#endif /* MCC_H */
/**
End of File
*/

View File

@ -0,0 +1,71 @@
/**
OPA1 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
opa1.c
@Summary
This is the generated driver implementation file for the OPA1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for OPA1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "opa1.h"
/**
Section: OPA1 APIs
*/
void OPA1_Initialize(void)
{
// OPA1ORPOL not inverted; OPA1EN enabled; OPA1UG OPAIN-_pin; OPA1ORM disabled;
OPA1CON = 0x80;
// ORS CCP1_out;
OPA1ORS = 0x00;
// NCH OPA1IN0-;
OPA1NCHS = 0x00;
// PCH OPA1IN0+;
OPA1PCHS = 0x00;
}
/**
End of File
*/

View File

@ -0,0 +1,105 @@
/**
OPA1 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
opa1.c
@Summary
This is the generated driver implementation file for the OPA1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for OPA1.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef OPA1_H
#define OPA1_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: OPA1 APIs
*/
/**
@Summary
Initializes the OPA1
@Description
This routine initializes the OPA1.
This routine must be called before any other OPA1 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
Initialize
@Example
<code>
OPA1_Initialize();
</code>
*/
void OPA1_Initialize(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // OPA1_H
/**
End of File
*/

View File

@ -0,0 +1,71 @@
/**
OPA2 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
opa2.c
@Summary
This is the generated driver implementation file for the OPA2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for OPA2.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
/**
Section: Included Files
*/
#include <xc.h>
#include "opa2.h"
/**
Section: OPA2 APIs
*/
void OPA2_Initialize(void)
{
// OPA2ORPOL not inverted; OPA2EN enabled; OPA2UG OPAIN-_pin; OPA2ORM disabled;
OPA2CON = 0x80;
// ORS CCP1_out;
OPA2ORS = 0x00;
// NCH OPA2IN0-;
OPA2NCHS = 0x00;
// PCH OPA2IN0+;
OPA2PCHS = 0x00;
}
/**
End of File
*/

View File

@ -0,0 +1,105 @@
/**
OPA2 Generated Driver File
@Company
Microchip Technology Inc.
@File Name
opa2.c
@Summary
This is the generated driver implementation file for the OPA2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This source file provides implementations for driver APIs for OPA2.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.01
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef OPA2_H
#define OPA2_H
/**
Section: Included Files
*/
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus // Provide C++ Compatibility
extern "C" {
#endif
/**
Section: OPA2 APIs
*/
/**
@Summary
Initializes the OPA2
@Description
This routine initializes the OPA2.
This routine must be called before any other OPA2 routine is called.
This routine should only be called once during system initialization.
@Preconditions
None
@Param
None
@Returns
None
@Comment
Initialize
@Example
<code>
OPA2_Initialize();
</code>
*/
void OPA2_Initialize(void);
#ifdef __cplusplus // Provide C++ Compatibility
}
#endif
#endif // OPA2_H
/**
End of File
*/

View File

@ -0,0 +1,216 @@
/**
Generated Pin Manager File
Company:
Microchip Technology Inc.
File Name:
pin_manager.c
Summary:
This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
Description:
This header file provides implementations for pin APIs for all pins selected in the GUI.
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
Copyright (c) 2013 - 2015 released Microchip Technology Inc. All rights reserved.
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#include "pin_manager.h"
void (*IOCBF0_InterruptHandler)(void);
void (*IOCCF7_InterruptHandler)(void);
void PIN_MANAGER_Initialize(void)
{
/**
LATx registers
*/
LATA = 0x00;
LATB = 0x00;
LATC = 0x00;
/**
TRISx registers
*/
TRISE = 0x08;
TRISA = 0x39;
TRISB = 0xED;
TRISC = 0x8C;
/**
ANSELx registers
*/
ANSELC = 0x7C;
ANSELB = 0x3E;
ANSELA = 0x3F;
/**
WPUx registers
*/
WPUE = 0x00;
WPUB = 0x00;
WPUA = 0x00;
WPUC = 0x00;
OPTION_REGbits.nWPUEN = 1;
/**
ODx registers
*/
ODCONA = 0x00;
ODCONB = 0x00;
ODCONC = 0x00;
/**
SLRCONx registers
*/
SLRCONA = 0xFF;
SLRCONB = 0xFF;
SLRCONC = 0xFF;
/**
INLVLx registers
*/
INLVLA = 0x3F;
INLVLB = 0xF0;
INLVLC = 0xFF;
/**
IOCx registers
*/
//interrupt on change for group IOCBF - flag
IOCBFbits.IOCBF0 = 0;
//interrupt on change for group IOCBN - negative
IOCBNbits.IOCBN0 = 1;
//interrupt on change for group IOCBP - positive
IOCBPbits.IOCBP0 = 0;
//interrupt on change for group IOCCF - flag
IOCCFbits.IOCCF7 = 0;
//interrupt on change for group IOCCN - negative
IOCCNbits.IOCCN7 = 1;
//interrupt on change for group IOCCP - positive
IOCCPbits.IOCCP7 = 0;
// register default IOC callback functions at runtime; use these methods to register a custom function
IOCBF0_SetInterruptHandler(IOCBF0_DefaultInterruptHandler);
IOCCF7_SetInterruptHandler(IOCCF7_DefaultInterruptHandler);
// Enable IOCI interrupt
INTCONbits.IOCIE = 1;
}
void PIN_MANAGER_IOC(void)
{
// interrupt on change for pin IOCBF0
if(IOCBFbits.IOCBF0 == 1)
{
IOCBF0_ISR();
}
// interrupt on change for pin IOCCF7
if(IOCCFbits.IOCCF7 == 1)
{
IOCCF7_ISR();
}
}
/**
IOCBF0 Interrupt Service Routine
*/
void IOCBF0_ISR(void) {
// Add custom IOCBF0 code
// Call the interrupt handler for the callback registered at runtime
if(IOCBF0_InterruptHandler)
{
IOCBF0_InterruptHandler();
}
IOCBFbits.IOCBF0 = 0;
}
/**
Allows selecting an interrupt handler for IOCBF0 at application runtime
*/
void IOCBF0_SetInterruptHandler(void (* InterruptHandler)(void)){
IOCBF0_InterruptHandler = InterruptHandler;
}
/**
Default interrupt handler for IOCBF0
*/
void IOCBF0_DefaultInterruptHandler(void){
// add your IOCBF0 interrupt custom code
// or set custom function using IOCBF0_SetInterruptHandler()
}
/**
IOCCF7 Interrupt Service Routine
*/
void IOCCF7_ISR(void) {
// Add custom IOCCF7 code
// Call the interrupt handler for the callback registered at runtime
if(IOCCF7_InterruptHandler)
{
IOCCF7_InterruptHandler();
}
IOCCFbits.IOCCF7 = 0;
}
/**
Allows selecting an interrupt handler for IOCCF7 at application runtime
*/
void IOCCF7_SetInterruptHandler(void (* InterruptHandler)(void)){
IOCCF7_InterruptHandler = InterruptHandler;
}
/**
Default interrupt handler for IOCCF7
*/
void IOCCF7_DefaultInterruptHandler(void){
// add your IOCCF7 interrupt custom code
// or set custom function using IOCCF7_SetInterruptHandler()
}
/**
End of File
*/

View File

@ -0,0 +1,600 @@
/**
@Generated Pin Manager Header File
@Company:
Microchip Technology Inc.
@File Name:
pin_manager.h
@Summary:
This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
@Description
This header file provides APIs for driver for .
Generation Information :
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.3
Device : PIC16F1776
Driver Version : 2.11
The generated drivers are tested against the following:
Compiler : XC8 2.20 and above
MPLAB : MPLAB X 5.40
*/
/*
(c) 2018 Microchip Technology Inc. and its subsidiaries.
Subject to your compliance with these terms, you may use Microchip software and any
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
license terms applicable to your use of third party software (including open source software) that
may accompany Microchip software.
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
SOFTWARE.
*/
#ifndef PIN_MANAGER_H
#define PIN_MANAGER_H
/**
Section: Included Files
*/
#include <xc.h>
#define INPUT 1
#define OUTPUT 0
#define HIGH 1
#define LOW 0
#define ANALOG 1
#define DIGITAL 0
#define PULL_UP_ENABLED 1
#define PULL_UP_DISABLED 0
// get/set GNDREF_SENSE aliases
#define GNDREF_SENSE_TRIS TRISAbits.TRISA0
#define GNDREF_SENSE_LAT LATAbits.LATA0
#define GNDREF_SENSE_PORT PORTAbits.RA0
#define GNDREF_SENSE_WPU WPUAbits.WPUA0
#define GNDREF_SENSE_OD ODCONAbits.ODA0
#define GNDREF_SENSE_ANS ANSELAbits.ANSA0
#define GNDREF_SENSE_SetHigh() do { LATAbits.LATA0 = 1; } while(0)
#define GNDREF_SENSE_SetLow() do { LATAbits.LATA0 = 0; } while(0)
#define GNDREF_SENSE_Toggle() do { LATAbits.LATA0 = ~LATAbits.LATA0; } while(0)
#define GNDREF_SENSE_GetValue() PORTAbits.RA0
#define GNDREF_SENSE_SetDigitalInput() do { TRISAbits.TRISA0 = 1; } while(0)
#define GNDREF_SENSE_SetDigitalOutput() do { TRISAbits.TRISA0 = 0; } while(0)
#define GNDREF_SENSE_SetPullup() do { WPUAbits.WPUA0 = 1; } while(0)
#define GNDREF_SENSE_ResetPullup() do { WPUAbits.WPUA0 = 0; } while(0)
#define GNDREF_SENSE_SetPushPull() do { ODCONAbits.ODA0 = 0; } while(0)
#define GNDREF_SENSE_SetOpenDrain() do { ODCONAbits.ODA0 = 1; } while(0)
#define GNDREF_SENSE_SetAnalogMode() do { ANSELAbits.ANSA0 = 1; } while(0)
#define GNDREF_SENSE_SetDigitalMode() do { ANSELAbits.ANSA0 = 0; } while(0)
// get/set RA1 procedures
#define RA1_SetHigh() do { LATAbits.LATA1 = 1; } while(0)
#define RA1_SetLow() do { LATAbits.LATA1 = 0; } while(0)
#define RA1_Toggle() do { LATAbits.LATA1 = ~LATAbits.LATA1; } while(0)
#define RA1_GetValue() PORTAbits.RA1
#define RA1_SetDigitalInput() do { TRISAbits.TRISA1 = 1; } while(0)
#define RA1_SetDigitalOutput() do { TRISAbits.TRISA1 = 0; } while(0)
#define RA1_SetPullup() do { WPUAbits.WPUA1 = 1; } while(0)
#define RA1_ResetPullup() do { WPUAbits.WPUA1 = 0; } while(0)
#define RA1_SetAnalogMode() do { ANSELAbits.ANSA1 = 1; } while(0)
#define RA1_SetDigitalMode() do { ANSELAbits.ANSA1 = 0; } while(0)
// get/set RA2 procedures
#define RA2_SetHigh() do { LATAbits.LATA2 = 1; } while(0)
#define RA2_SetLow() do { LATAbits.LATA2 = 0; } while(0)
#define RA2_Toggle() do { LATAbits.LATA2 = ~LATAbits.LATA2; } while(0)
#define RA2_GetValue() PORTAbits.RA2
#define RA2_SetDigitalInput() do { TRISAbits.TRISA2 = 1; } while(0)
#define RA2_SetDigitalOutput() do { TRISAbits.TRISA2 = 0; } while(0)
#define RA2_SetPullup() do { WPUAbits.WPUA2 = 1; } while(0)
#define RA2_ResetPullup() do { WPUAbits.WPUA2 = 0; } while(0)
#define RA2_SetAnalogMode() do { ANSELAbits.ANSA2 = 1; } while(0)
#define RA2_SetDigitalMode() do { ANSELAbits.ANSA2 = 0; } while(0)
// get/set RA4 procedures
#define RA4_SetHigh() do { LATAbits.LATA4 = 1; } while(0)
#define RA4_SetLow() do { LATAbits.LATA4 = 0; } while(0)
#define RA4_Toggle() do { LATAbits.LATA4 = ~LATAbits.LATA4; } while(0)
#define RA4_GetValue() PORTAbits.RA4
#define RA4_SetDigitalInput() do { TRISAbits.TRISA4 = 1; } while(0)
#define RA4_SetDigitalOutput() do { TRISAbits.TRISA4 = 0; } while(0)
#define RA4_SetPullup() do { WPUAbits.WPUA4 = 1; } while(0)
#define RA4_ResetPullup() do { WPUAbits.WPUA4 = 0; } while(0)
#define RA4_SetAnalogMode() do { ANSELAbits.ANSA4 = 1; } while(0)
#define RA4_SetDigitalMode() do { ANSELAbits.ANSA4 = 0; } while(0)
// get/set RA5 procedures
#define RA5_SetHigh() do { LATAbits.LATA5 = 1; } while(0)
#define RA5_SetLow() do { LATAbits.LATA5 = 0; } while(0)
#define RA5_Toggle() do { LATAbits.LATA5 = ~LATAbits.LATA5; } while(0)
#define RA5_GetValue() PORTAbits.RA5
#define RA5_SetDigitalInput() do { TRISAbits.TRISA5 = 1; } while(0)
#define RA5_SetDigitalOutput() do { TRISAbits.TRISA5 = 0; } while(0)
#define RA5_SetPullup() do { WPUAbits.WPUA5 = 1; } while(0)
#define RA5_ResetPullup() do { WPUAbits.WPUA5 = 0; } while(0)
#define RA5_SetAnalogMode() do { ANSELAbits.ANSA5 = 1; } while(0)
#define RA5_SetDigitalMode() do { ANSELAbits.ANSA5 = 0; } while(0)
// get/set SR aliases
#define SR_TRIS TRISAbits.TRISA6
#define SR_LAT LATAbits.LATA6
#define SR_PORT PORTAbits.RA6
#define SR_WPU WPUAbits.WPUA6
#define SR_OD ODCONAbits.ODA6
#define SR_SetHigh() do { LATAbits.LATA6 = 1; } while(0)
#define SR_SetLow() do { LATAbits.LATA6 = 0; } while(0)
#define SR_Toggle() do { LATAbits.LATA6 = ~LATAbits.LATA6; } while(0)
#define SR_GetValue() PORTAbits.RA6
#define SR_SetDigitalInput() do { TRISAbits.TRISA6 = 1; } while(0)
#define SR_SetDigitalOutput() do { TRISAbits.TRISA6 = 0; } while(0)
#define SR_SetPullup() do { WPUAbits.WPUA6 = 1; } while(0)
#define SR_ResetPullup() do { WPUAbits.WPUA6 = 0; } while(0)
#define SR_SetPushPull() do { ODCONAbits.ODA6 = 0; } while(0)
#define SR_SetOpenDrain() do { ODCONAbits.ODA6 = 1; } while(0)
// get/set MUX_SEL1 aliases
#define MUX_SEL1_TRIS TRISAbits.TRISA7
#define MUX_SEL1_LAT LATAbits.LATA7
#define MUX_SEL1_PORT PORTAbits.RA7
#define MUX_SEL1_WPU WPUAbits.WPUA7
#define MUX_SEL1_OD ODCONAbits.ODA7
#define MUX_SEL1_SetHigh() do { LATAbits.LATA7 = 1; } while(0)
#define MUX_SEL1_SetLow() do { LATAbits.LATA7 = 0; } while(0)
#define MUX_SEL1_Toggle() do { LATAbits.LATA7 = ~LATAbits.LATA7; } while(0)
#define MUX_SEL1_GetValue() PORTAbits.RA7
#define MUX_SEL1_SetDigitalInput() do { TRISAbits.TRISA7 = 1; } while(0)
#define MUX_SEL1_SetDigitalOutput() do { TRISAbits.TRISA7 = 0; } while(0)
#define MUX_SEL1_SetPullup() do { WPUAbits.WPUA7 = 1; } while(0)
#define MUX_SEL1_ResetPullup() do { WPUAbits.WPUA7 = 0; } while(0)
#define MUX_SEL1_SetPushPull() do { ODCONAbits.ODA7 = 0; } while(0)
#define MUX_SEL1_SetOpenDrain() do { ODCONAbits.ODA7 = 1; } while(0)
// get/set SW2 aliases
#define SW2_TRIS TRISBbits.TRISB0
#define SW2_LAT LATBbits.LATB0
#define SW2_PORT PORTBbits.RB0
#define SW2_WPU WPUBbits.WPUB0
#define SW2_ANS ANSELBbits.ANSB0
#define SW2_SetHigh() do { LATBbits.LATB0 = 1; } while(0)
#define SW2_SetLow() do { LATBbits.LATB0 = 0; } while(0)
#define SW2_Toggle() do { LATBbits.LATB0 = ~LATBbits.LATB0; } while(0)
#define SW2_GetValue() PORTBbits.RB0
#define SW2_SetDigitalInput() do { TRISBbits.TRISB0 = 1; } while(0)
#define SW2_SetDigitalOutput() do { TRISBbits.TRISB0 = 0; } while(0)
#define SW2_SetPullup() do { WPUBbits.WPUB0 = 1; } while(0)
#define SW2_ResetPullup() do { WPUBbits.WPUB0 = 0; } while(0)
#define SW2_SetAnalogMode() do { ANSELBbits.ANSB0 = 1; } while(0)
#define SW2_SetDigitalMode() do { ANSELBbits.ANSB0 = 0; } while(0)
// get/set RB1 procedures
#define RB1_SetHigh() do { LATBbits.LATB1 = 1; } while(0)
#define RB1_SetLow() do { LATBbits.LATB1 = 0; } while(0)
#define RB1_Toggle() do { LATBbits.LATB1 = ~LATBbits.LATB1; } while(0)
#define RB1_GetValue() PORTBbits.RB1
#define RB1_SetDigitalInput() do { TRISBbits.TRISB1 = 1; } while(0)
#define RB1_SetDigitalOutput() do { TRISBbits.TRISB1 = 0; } while(0)
#define RB1_SetPullup() do { WPUBbits.WPUB1 = 1; } while(0)
#define RB1_ResetPullup() do { WPUBbits.WPUB1 = 0; } while(0)
#define RB1_SetAnalogMode() do { ANSELBbits.ANSB1 = 1; } while(0)
#define RB1_SetDigitalMode() do { ANSELBbits.ANSB1 = 0; } while(0)
// get/set RB2 procedures
#define RB2_SetHigh() do { LATBbits.LATB2 = 1; } while(0)
#define RB2_SetLow() do { LATBbits.LATB2 = 0; } while(0)
#define RB2_Toggle() do { LATBbits.LATB2 = ~LATBbits.LATB2; } while(0)
#define RB2_GetValue() PORTBbits.RB2
#define RB2_SetDigitalInput() do { TRISBbits.TRISB2 = 1; } while(0)
#define RB2_SetDigitalOutput() do { TRISBbits.TRISB2 = 0; } while(0)
#define RB2_SetPullup() do { WPUBbits.WPUB2 = 1; } while(0)
#define RB2_ResetPullup() do { WPUBbits.WPUB2 = 0; } while(0)
#define RB2_SetAnalogMode() do { ANSELBbits.ANSB2 = 1; } while(0)
#define RB2_SetDigitalMode() do { ANSELBbits.ANSB2 = 0; } while(0)
// get/set RB3 procedures
#define RB3_SetHigh() do { LATBbits.LATB3 = 1; } while(0)
#define RB3_SetLow() do { LATBbits.LATB3 = 0; } while(0)
#define RB3_Toggle() do { LATBbits.LATB3 = ~LATBbits.LATB3; } while(0)
#define RB3_GetValue() PORTBbits.RB3
#define RB3_SetDigitalInput() do { TRISBbits.TRISB3 = 1; } while(0)
#define RB3_SetDigitalOutput() do { TRISBbits.TRISB3 = 0; } while(0)
#define RB3_SetPullup() do { WPUBbits.WPUB3 = 1; } while(0)
#define RB3_ResetPullup() do { WPUBbits.WPUB3 = 0; } while(0)
#define RB3_SetAnalogMode() do { ANSELBbits.ANSB3 = 1; } while(0)
#define RB3_SetDigitalMode() do { ANSELBbits.ANSB3 = 0; } while(0)
// get/set MUX_SEL2 aliases
#define MUX_SEL2_TRIS TRISBbits.TRISB4
#define MUX_SEL2_LAT LATBbits.LATB4
#define MUX_SEL2_PORT PORTBbits.RB4
#define MUX_SEL2_WPU WPUBbits.WPUB4
#define MUX_SEL2_OD ODCONBbits.ODB4
#define MUX_SEL2_ANS ANSELBbits.ANSB4
#define MUX_SEL2_SetHigh() do { LATBbits.LATB4 = 1; } while(0)
#define MUX_SEL2_SetLow() do { LATBbits.LATB4 = 0; } while(0)
#define MUX_SEL2_Toggle() do { LATBbits.LATB4 = ~LATBbits.LATB4; } while(0)
#define MUX_SEL2_GetValue() PORTBbits.RB4
#define MUX_SEL2_SetDigitalInput() do { TRISBbits.TRISB4 = 1; } while(0)
#define MUX_SEL2_SetDigitalOutput() do { TRISBbits.TRISB4 = 0; } while(0)
#define MUX_SEL2_SetPullup() do { WPUBbits.WPUB4 = 1; } while(0)
#define MUX_SEL2_ResetPullup() do { WPUBbits.WPUB4 = 0; } while(0)
#define MUX_SEL2_SetPushPull() do { ODCONBbits.ODB4 = 0; } while(0)
#define MUX_SEL2_SetOpenDrain() do { ODCONBbits.ODB4 = 1; } while(0)
#define MUX_SEL2_SetAnalogMode() do { ANSELBbits.ANSB4 = 1; } while(0)
#define MUX_SEL2_SetDigitalMode() do { ANSELBbits.ANSB4 = 0; } while(0)
// get/set VIN_SENSE aliases
#define VIN_SENSE_TRIS TRISBbits.TRISB5
#define VIN_SENSE_LAT LATBbits.LATB5
#define VIN_SENSE_PORT PORTBbits.RB5
#define VIN_SENSE_WPU WPUBbits.WPUB5
#define VIN_SENSE_OD ODCONBbits.ODB5
#define VIN_SENSE_ANS ANSELBbits.ANSB5
#define VIN_SENSE_SetHigh() do { LATBbits.LATB5 = 1; } while(0)
#define VIN_SENSE_SetLow() do { LATBbits.LATB5 = 0; } while(0)
#define VIN_SENSE_Toggle() do { LATBbits.LATB5 = ~LATBbits.LATB5; } while(0)
#define VIN_SENSE_GetValue() PORTBbits.RB5
#define VIN_SENSE_SetDigitalInput() do { TRISBbits.TRISB5 = 1; } while(0)
#define VIN_SENSE_SetDigitalOutput() do { TRISBbits.TRISB5 = 0; } while(0)
#define VIN_SENSE_SetPullup() do { WPUBbits.WPUB5 = 1; } while(0)
#define VIN_SENSE_ResetPullup() do { WPUBbits.WPUB5 = 0; } while(0)
#define VIN_SENSE_SetPushPull() do { ODCONBbits.ODB5 = 0; } while(0)
#define VIN_SENSE_SetOpenDrain() do { ODCONBbits.ODB5 = 1; } while(0)
#define VIN_SENSE_SetAnalogMode() do { ANSELBbits.ANSB5 = 1; } while(0)
#define VIN_SENSE_SetDigitalMode() do { ANSELBbits.ANSB5 = 0; } while(0)
// get/set RC0 procedures
#define RC0_SetHigh() do { LATCbits.LATC0 = 1; } while(0)
#define RC0_SetLow() do { LATCbits.LATC0 = 0; } while(0)
#define RC0_Toggle() do { LATCbits.LATC0 = ~LATCbits.LATC0; } while(0)
#define RC0_GetValue() PORTCbits.RC0
#define RC0_SetDigitalInput() do { TRISCbits.TRISC0 = 1; } while(0)
#define RC0_SetDigitalOutput() do { TRISCbits.TRISC0 = 0; } while(0)
#define RC0_SetPullup() do { WPUCbits.WPUC0 = 1; } while(0)
#define RC0_ResetPullup() do { WPUCbits.WPUC0 = 0; } while(0)
// get/set RC1 procedures
#define RC1_SetHigh() do { LATCbits.LATC1 = 1; } while(0)
#define RC1_SetLow() do { LATCbits.LATC1 = 0; } while(0)
#define RC1_Toggle() do { LATCbits.LATC1 = ~LATCbits.LATC1; } while(0)
#define RC1_GetValue() PORTCbits.RC1
#define RC1_SetDigitalInput() do { TRISCbits.TRISC1 = 1; } while(0)
#define RC1_SetDigitalOutput() do { TRISCbits.TRISC1 = 0; } while(0)
#define RC1_SetPullup() do { WPUCbits.WPUC1 = 1; } while(0)
#define RC1_ResetPullup() do { WPUCbits.WPUC1 = 0; } while(0)
// get/set STAGE2_MON aliases
#define STAGE2_MON_TRIS TRISCbits.TRISC2
#define STAGE2_MON_LAT LATCbits.LATC2
#define STAGE2_MON_PORT PORTCbits.RC2
#define STAGE2_MON_WPU WPUCbits.WPUC2
#define STAGE2_MON_OD ODCONCbits.ODC2
#define STAGE2_MON_ANS ANSELCbits.ANSC2
#define STAGE2_MON_SetHigh() do { LATCbits.LATC2 = 1; } while(0)
#define STAGE2_MON_SetLow() do { LATCbits.LATC2 = 0; } while(0)
#define STAGE2_MON_Toggle() do { LATCbits.LATC2 = ~LATCbits.LATC2; } while(0)
#define STAGE2_MON_GetValue() PORTCbits.RC2
#define STAGE2_MON_SetDigitalInput() do { TRISCbits.TRISC2 = 1; } while(0)
#define STAGE2_MON_SetDigitalOutput() do { TRISCbits.TRISC2 = 0; } while(0)
#define STAGE2_MON_SetPullup() do { WPUCbits.WPUC2 = 1; } while(0)
#define STAGE2_MON_ResetPullup() do { WPUCbits.WPUC2 = 0; } while(0)
#define STAGE2_MON_SetPushPull() do { ODCONCbits.ODC2 = 0; } while(0)
#define STAGE2_MON_SetOpenDrain() do { ODCONCbits.ODC2 = 1; } while(0)
#define STAGE2_MON_SetAnalogMode() do { ANSELCbits.ANSC2 = 1; } while(0)
#define STAGE2_MON_SetDigitalMode() do { ANSELCbits.ANSC2 = 0; } while(0)
// get/set STAGE1_MON aliases
#define STAGE1_MON_TRIS TRISCbits.TRISC3
#define STAGE1_MON_LAT LATCbits.LATC3
#define STAGE1_MON_PORT PORTCbits.RC3
#define STAGE1_MON_WPU WPUCbits.WPUC3
#define STAGE1_MON_OD ODCONCbits.ODC3
#define STAGE1_MON_ANS ANSELCbits.ANSC3
#define STAGE1_MON_SetHigh() do { LATCbits.LATC3 = 1; } while(0)
#define STAGE1_MON_SetLow() do { LATCbits.LATC3 = 0; } while(0)
#define STAGE1_MON_Toggle() do { LATCbits.LATC3 = ~LATCbits.LATC3; } while(0)
#define STAGE1_MON_GetValue() PORTCbits.RC3
#define STAGE1_MON_SetDigitalInput() do { TRISCbits.TRISC3 = 1; } while(0)
#define STAGE1_MON_SetDigitalOutput() do { TRISCbits.TRISC3 = 0; } while(0)
#define STAGE1_MON_SetPullup() do { WPUCbits.WPUC3 = 1; } while(0)
#define STAGE1_MON_ResetPullup() do { WPUCbits.WPUC3 = 0; } while(0)
#define STAGE1_MON_SetPushPull() do { ODCONCbits.ODC3 = 0; } while(0)
#define STAGE1_MON_SetOpenDrain() do { ODCONCbits.ODC3 = 1; } while(0)
#define STAGE1_MON_SetAnalogMode() do { ANSELCbits.ANSC3 = 1; } while(0)
#define STAGE1_MON_SetDigitalMode() do { ANSELCbits.ANSC3 = 0; } while(0)
// get/set LED_R aliases
#define LED_R_TRIS TRISCbits.TRISC4
#define LED_R_LAT LATCbits.LATC4
#define LED_R_PORT PORTCbits.RC4
#define LED_R_WPU WPUCbits.WPUC4
#define LED_R_OD ODCONCbits.ODC4
#define LED_R_ANS ANSELCbits.ANSC4
#define LED_R_SetHigh() do { LATCbits.LATC4 = 1; } while(0)
#define LED_R_SetLow() do { LATCbits.LATC4 = 0; } while(0)
#define LED_R_Toggle() do { LATCbits.LATC4 = ~LATCbits.LATC4; } while(0)
#define LED_R_GetValue() PORTCbits.RC4
#define LED_R_SetDigitalInput() do { TRISCbits.TRISC4 = 1; } while(0)
#define LED_R_SetDigitalOutput() do { TRISCbits.TRISC4 = 0; } while(0)
#define LED_R_SetPullup() do { WPUCbits.WPUC4 = 1; } while(0)
#define LED_R_ResetPullup() do { WPUCbits.WPUC4 = 0; } while(0)
#define LED_R_SetPushPull() do { ODCONCbits.ODC4 = 0; } while(0)
#define LED_R_SetOpenDrain() do { ODCONCbits.ODC4 = 1; } while(0)
#define LED_R_SetAnalogMode() do { ANSELCbits.ANSC4 = 1; } while(0)
#define LED_R_SetDigitalMode() do { ANSELCbits.ANSC4 = 0; } while(0)
// get/set LED_G aliases
#define LED_G_TRIS TRISCbits.TRISC5
#define LED_G_LAT LATCbits.LATC5
#define LED_G_PORT PORTCbits.RC5
#define LED_G_WPU WPUCbits.WPUC5
#define LED_G_OD ODCONCbits.ODC5
#define LED_G_ANS ANSELCbits.ANSC5
#define LED_G_SetHigh() do { LATCbits.LATC5 = 1; } while(0)
#define LED_G_SetLow() do { LATCbits.LATC5 = 0; } while(0)
#define LED_G_Toggle() do { LATCbits.LATC5 = ~LATCbits.LATC5; } while(0)
#define LED_G_GetValue() PORTCbits.RC5
#define LED_G_SetDigitalInput() do { TRISCbits.TRISC5 = 1; } while(0)
#define LED_G_SetDigitalOutput() do { TRISCbits.TRISC5 = 0; } while(0)
#define LED_G_SetPullup() do { WPUCbits.WPUC5 = 1; } while(0)
#define LED_G_ResetPullup() do { WPUCbits.WPUC5 = 0; } while(0)
#define LED_G_SetPushPull() do { ODCONCbits.ODC5 = 0; } while(0)
#define LED_G_SetOpenDrain() do { ODCONCbits.ODC5 = 1; } while(0)
#define LED_G_SetAnalogMode() do { ANSELCbits.ANSC5 = 1; } while(0)
#define LED_G_SetDigitalMode() do { ANSELCbits.ANSC5 = 0; } while(0)
// get/set LED_B aliases
#define LED_B_TRIS TRISCbits.TRISC6
#define LED_B_LAT LATCbits.LATC6
#define LED_B_PORT PORTCbits.RC6
#define LED_B_WPU WPUCbits.WPUC6
#define LED_B_OD ODCONCbits.ODC6
#define LED_B_ANS ANSELCbits.ANSC6
#define LED_B_SetHigh() do { LATCbits.LATC6 = 1; } while(0)
#define LED_B_SetLow() do { LATCbits.LATC6 = 0; } while(0)
#define LED_B_Toggle() do { LATCbits.LATC6 = ~LATCbits.LATC6; } while(0)
#define LED_B_GetValue() PORTCbits.RC6
#define LED_B_SetDigitalInput() do { TRISCbits.TRISC6 = 1; } while(0)
#define LED_B_SetDigitalOutput() do { TRISCbits.TRISC6 = 0; } while(0)
#define LED_B_SetPullup() do { WPUCbits.WPUC6 = 1; } while(0)
#define LED_B_ResetPullup() do { WPUCbits.WPUC6 = 0; } while(0)
#define LED_B_SetPushPull() do { ODCONCbits.ODC6 = 0; } while(0)
#define LED_B_SetOpenDrain() do { ODCONCbits.ODC6 = 1; } while(0)
#define LED_B_SetAnalogMode() do { ANSELCbits.ANSC6 = 1; } while(0)
#define LED_B_SetDigitalMode() do { ANSELCbits.ANSC6 = 0; } while(0)
// get/set SW1 aliases
#define SW1_TRIS TRISCbits.TRISC7
#define SW1_LAT LATCbits.LATC7
#define SW1_PORT PORTCbits.RC7
#define SW1_WPU WPUCbits.WPUC7
#define SW1_OD ODCONCbits.ODC7
#define SW1_ANS ANSELCbits.ANSC7
#define SW1_SetHigh() do { LATCbits.LATC7 = 1; } while(0)
#define SW1_SetLow() do { LATCbits.LATC7 = 0; } while(0)
#define SW1_Toggle() do { LATCbits.LATC7 = ~LATCbits.LATC7; } while(0)
#define SW1_GetValue() PORTCbits.RC7
#define SW1_SetDigitalInput() do { TRISCbits.TRISC7 = 1; } while(0)
#define SW1_SetDigitalOutput() do { TRISCbits.TRISC7 = 0; } while(0)
#define SW1_SetPullup() do { WPUCbits.WPUC7 = 1; } while(0)
#define SW1_ResetPullup() do { WPUCbits.WPUC7 = 0; } while(0)
#define SW1_SetPushPull() do { ODCONCbits.ODC7 = 0; } while(0)
#define SW1_SetOpenDrain() do { ODCONCbits.ODC7 = 1; } while(0)
#define SW1_SetAnalogMode() do { ANSELCbits.ANSC7 = 1; } while(0)
#define SW1_SetDigitalMode() do { ANSELCbits.ANSC7 = 0; } while(0)
/**
@Param
none
@Returns
none
@Description
GPIO and peripheral I/O initialization
@Example
PIN_MANAGER_Initialize();
*/
void PIN_MANAGER_Initialize (void);
/**
* @Param
none
* @Returns
none
* @Description
Interrupt on Change Handling routine
* @Example
PIN_MANAGER_IOC();
*/
void PIN_MANAGER_IOC(void);
/**
* @Param
none
* @Returns
none
* @Description
Interrupt on Change Handler for the IOCBF0 pin functionality
* @Example
IOCBF0_ISR();
*/
void IOCBF0_ISR(void);
/**
@Summary
Interrupt Handler Setter for IOCBF0 pin interrupt-on-change functionality
@Description
Allows selecting an interrupt handler for IOCBF0 at application runtime
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
InterruptHandler function pointer.
@Example
PIN_MANAGER_Initialize();
IOCBF0_SetInterruptHandler(MyInterruptHandler);
*/
void IOCBF0_SetInterruptHandler(void (* InterruptHandler)(void));
/**
@Summary
Dynamic Interrupt Handler for IOCBF0 pin
@Description
This is a dynamic interrupt handler to be used together with the IOCBF0_SetInterruptHandler() method.
This handler is called every time the IOCBF0 ISR is executed and allows any function to be registered at runtime.
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
None.
@Example
PIN_MANAGER_Initialize();
IOCBF0_SetInterruptHandler(IOCBF0_InterruptHandler);
*/
extern void (*IOCBF0_InterruptHandler)(void);
/**
@Summary
Default Interrupt Handler for IOCBF0 pin
@Description
This is a predefined interrupt handler to be used together with the IOCBF0_SetInterruptHandler() method.
This handler is called every time the IOCBF0 ISR is executed.
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
None.
@Example
PIN_MANAGER_Initialize();
IOCBF0_SetInterruptHandler(IOCBF0_DefaultInterruptHandler);
*/
void IOCBF0_DefaultInterruptHandler(void);
/**
* @Param
none
* @Returns
none
* @Description
Interrupt on Change Handler for the IOCCF7 pin functionality
* @Example
IOCCF7_ISR();
*/
void IOCCF7_ISR(void);
/**
@Summary
Interrupt Handler Setter for IOCCF7 pin interrupt-on-change functionality
@Description
Allows selecting an interrupt handler for IOCCF7 at application runtime
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
InterruptHandler function pointer.
@Example
PIN_MANAGER_Initialize();
IOCCF7_SetInterruptHandler(MyInterruptHandler);
*/
void IOCCF7_SetInterruptHandler(void (* InterruptHandler)(void));
/**
@Summary
Dynamic Interrupt Handler for IOCCF7 pin
@Description
This is a dynamic interrupt handler to be used together with the IOCCF7_SetInterruptHandler() method.
This handler is called every time the IOCCF7 ISR is executed and allows any function to be registered at runtime.
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
None.
@Example
PIN_MANAGER_Initialize();
IOCCF7_SetInterruptHandler(IOCCF7_InterruptHandler);
*/
extern void (*IOCCF7_InterruptHandler)(void);
/**
@Summary
Default Interrupt Handler for IOCCF7 pin
@Description
This is a predefined interrupt handler to be used together with the IOCCF7_SetInterruptHandler() method.
This handler is called every time the IOCCF7 ISR is executed.
@Preconditions
Pin Manager intializer called
@Returns
None.
@Param
None.
@Example
PIN_MANAGER_Initialize();
IOCCF7_SetInterruptHandler(IOCCF7_DefaultInterruptHandler);
*/
void IOCCF7_DefaultInterruptHandler(void);
#endif // PIN_MANAGER_H
/**
End of File
*/

View File

@ -0,0 +1,418 @@
#
# 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=mkdir -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}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
else
IMAGE_TYPE=production
OUTPUT_SUFFIX=hex
DEBUGGABLE_SUFFIX=elf
FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
endif
ifeq ($(COMPARE_BUILD), true)
COMPARISON_BUILD=-mafrlcsj
else
COMPARISON_BUILD=
endif
ifdef 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=mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/dac5.c mcc_generated_files/dac1.c mcc_generated_files/opa2.c mcc_generated_files/opa1.c mcc_generated_files/dac7.c mcc_generated_files/dac4.c mcc_generated_files/cmp2.c mcc_generated_files/dac3.c mcc_generated_files/cmp1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/fvr.c mcc_generated_files/cmp5.c main.c
# Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/dac5.p1 ${OBJECTDIR}/mcc_generated_files/dac1.p1 ${OBJECTDIR}/mcc_generated_files/opa2.p1 ${OBJECTDIR}/mcc_generated_files/opa1.p1 ${OBJECTDIR}/mcc_generated_files/dac7.p1 ${OBJECTDIR}/mcc_generated_files/dac4.p1 ${OBJECTDIR}/mcc_generated_files/cmp2.p1 ${OBJECTDIR}/mcc_generated_files/dac3.p1 ${OBJECTDIR}/mcc_generated_files/cmp1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/fvr.p1 ${OBJECTDIR}/mcc_generated_files/cmp5.p1 ${OBJECTDIR}/main.p1
POSSIBLE_DEPFILES=${OBJECTDIR}/mcc_generated_files/device_config.p1.d ${OBJECTDIR}/mcc_generated_files/mcc.p1.d ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d ${OBJECTDIR}/mcc_generated_files/adc.p1.d ${OBJECTDIR}/mcc_generated_files/dac5.p1.d ${OBJECTDIR}/mcc_generated_files/dac1.p1.d ${OBJECTDIR}/mcc_generated_files/opa2.p1.d ${OBJECTDIR}/mcc_generated_files/opa1.p1.d ${OBJECTDIR}/mcc_generated_files/dac7.p1.d ${OBJECTDIR}/mcc_generated_files/dac4.p1.d ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d ${OBJECTDIR}/mcc_generated_files/dac3.p1.d ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d ${OBJECTDIR}/mcc_generated_files/fvr.p1.d ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d ${OBJECTDIR}/main.p1.d
# Object Files
OBJECTFILES=${OBJECTDIR}/mcc_generated_files/device_config.p1 ${OBJECTDIR}/mcc_generated_files/mcc.p1 ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 ${OBJECTDIR}/mcc_generated_files/adc.p1 ${OBJECTDIR}/mcc_generated_files/dac5.p1 ${OBJECTDIR}/mcc_generated_files/dac1.p1 ${OBJECTDIR}/mcc_generated_files/opa2.p1 ${OBJECTDIR}/mcc_generated_files/opa1.p1 ${OBJECTDIR}/mcc_generated_files/dac7.p1 ${OBJECTDIR}/mcc_generated_files/dac4.p1 ${OBJECTDIR}/mcc_generated_files/cmp2.p1 ${OBJECTDIR}/mcc_generated_files/dac3.p1 ${OBJECTDIR}/mcc_generated_files/cmp1.p1 ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 ${OBJECTDIR}/mcc_generated_files/fvr.p1 ${OBJECTDIR}/mcc_generated_files/cmp5.p1 ${OBJECTDIR}/main.p1
# Source Files
SOURCEFILES=mcc_generated_files/device_config.c mcc_generated_files/mcc.c mcc_generated_files/pin_manager.c mcc_generated_files/adc.c mcc_generated_files/dac5.c mcc_generated_files/dac1.c mcc_generated_files/opa2.c mcc_generated_files/opa1.c mcc_generated_files/dac7.c mcc_generated_files/dac4.c mcc_generated_files/cmp2.c mcc_generated_files/dac3.c mcc_generated_files/cmp1.c mcc_generated_files/interrupt_manager.c mcc_generated_files/fvr.c mcc_generated_files/cmp5.c main.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}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
MP_PROCESSOR_OPTION=16F1776
# ------------------------------------------------------------------------------------
# Rules for buildStep: compile
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
${OBJECTDIR}/mcc_generated_files/device_config.p1: mcc_generated_files/device_config.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/device_config.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/device_config.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/device_config.p1 mcc_generated_files/device_config.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/device_config.d ${OBJECTDIR}/mcc_generated_files/device_config.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/device_config.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/mcc.p1: mcc_generated_files/mcc.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/mcc.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/mcc.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/mcc.p1 mcc_generated_files/mcc.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/mcc.d ${OBJECTDIR}/mcc_generated_files/mcc.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/mcc.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/pin_manager.p1: mcc_generated_files/pin_manager.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 mcc_generated_files/pin_manager.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/pin_manager.d ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/adc.p1: mcc_generated_files/adc.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/adc.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/adc.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/adc.p1 mcc_generated_files/adc.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/adc.d ${OBJECTDIR}/mcc_generated_files/adc.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/adc.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac5.p1: mcc_generated_files/dac5.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac5.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac5.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac5.p1 mcc_generated_files/dac5.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac5.d ${OBJECTDIR}/mcc_generated_files/dac5.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac5.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac1.p1: mcc_generated_files/dac1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac1.p1 mcc_generated_files/dac1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac1.d ${OBJECTDIR}/mcc_generated_files/dac1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/opa2.p1: mcc_generated_files/opa2.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/opa2.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/opa2.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/opa2.p1 mcc_generated_files/opa2.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/opa2.d ${OBJECTDIR}/mcc_generated_files/opa2.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/opa2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/opa1.p1: mcc_generated_files/opa1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/opa1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/opa1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/opa1.p1 mcc_generated_files/opa1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/opa1.d ${OBJECTDIR}/mcc_generated_files/opa1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/opa1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac7.p1: mcc_generated_files/dac7.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac7.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac7.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac7.p1 mcc_generated_files/dac7.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac7.d ${OBJECTDIR}/mcc_generated_files/dac7.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac7.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac4.p1: mcc_generated_files/dac4.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac4.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac4.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac4.p1 mcc_generated_files/dac4.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac4.d ${OBJECTDIR}/mcc_generated_files/dac4.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac4.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp2.p1: mcc_generated_files/cmp2.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp2.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp2.p1 mcc_generated_files/cmp2.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp2.d ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac3.p1: mcc_generated_files/dac3.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac3.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac3.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac3.p1 mcc_generated_files/dac3.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac3.d ${OBJECTDIR}/mcc_generated_files/dac3.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac3.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp1.p1: mcc_generated_files/cmp1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp1.p1 mcc_generated_files/cmp1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp1.d ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1: mcc_generated_files/interrupt_manager.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 mcc_generated_files/interrupt_manager.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.d ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/fvr.p1: mcc_generated_files/fvr.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/fvr.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/fvr.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/fvr.p1 mcc_generated_files/fvr.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/fvr.d ${OBJECTDIR}/mcc_generated_files/fvr.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/fvr.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp5.p1: mcc_generated_files/cmp5.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp5.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp5.p1 mcc_generated_files/cmp5.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp5.d ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.p1.d
@${RM} ${OBJECTDIR}/main.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/main.p1 main.c
@-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d
@${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
else
${OBJECTDIR}/mcc_generated_files/device_config.p1: mcc_generated_files/device_config.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/device_config.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/device_config.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/device_config.p1 mcc_generated_files/device_config.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/device_config.d ${OBJECTDIR}/mcc_generated_files/device_config.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/device_config.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/mcc.p1: mcc_generated_files/mcc.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/mcc.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/mcc.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/mcc.p1 mcc_generated_files/mcc.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/mcc.d ${OBJECTDIR}/mcc_generated_files/mcc.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/mcc.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/pin_manager.p1: mcc_generated_files/pin_manager.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/pin_manager.p1 mcc_generated_files/pin_manager.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/pin_manager.d ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/pin_manager.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/adc.p1: mcc_generated_files/adc.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/adc.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/adc.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/adc.p1 mcc_generated_files/adc.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/adc.d ${OBJECTDIR}/mcc_generated_files/adc.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/adc.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac5.p1: mcc_generated_files/dac5.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac5.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac5.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac5.p1 mcc_generated_files/dac5.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac5.d ${OBJECTDIR}/mcc_generated_files/dac5.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac5.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac1.p1: mcc_generated_files/dac1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac1.p1 mcc_generated_files/dac1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac1.d ${OBJECTDIR}/mcc_generated_files/dac1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/opa2.p1: mcc_generated_files/opa2.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/opa2.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/opa2.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/opa2.p1 mcc_generated_files/opa2.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/opa2.d ${OBJECTDIR}/mcc_generated_files/opa2.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/opa2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/opa1.p1: mcc_generated_files/opa1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/opa1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/opa1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/opa1.p1 mcc_generated_files/opa1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/opa1.d ${OBJECTDIR}/mcc_generated_files/opa1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/opa1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac7.p1: mcc_generated_files/dac7.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac7.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac7.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac7.p1 mcc_generated_files/dac7.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac7.d ${OBJECTDIR}/mcc_generated_files/dac7.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac7.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac4.p1: mcc_generated_files/dac4.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac4.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac4.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac4.p1 mcc_generated_files/dac4.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac4.d ${OBJECTDIR}/mcc_generated_files/dac4.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac4.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp2.p1: mcc_generated_files/cmp2.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp2.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp2.p1 mcc_generated_files/cmp2.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp2.d ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/dac3.p1: mcc_generated_files/dac3.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/dac3.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/dac3.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/dac3.p1 mcc_generated_files/dac3.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/dac3.d ${OBJECTDIR}/mcc_generated_files/dac3.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/dac3.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp1.p1: mcc_generated_files/cmp1.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp1.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp1.p1 mcc_generated_files/cmp1.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp1.d ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1: mcc_generated_files/interrupt_manager.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1 mcc_generated_files/interrupt_manager.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.d ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/interrupt_manager.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/fvr.p1: mcc_generated_files/fvr.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/fvr.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/fvr.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/fvr.p1 mcc_generated_files/fvr.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/fvr.d ${OBJECTDIR}/mcc_generated_files/fvr.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/fvr.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/mcc_generated_files/cmp5.p1: mcc_generated_files/cmp5.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}/mcc_generated_files"
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d
@${RM} ${OBJECTDIR}/mcc_generated_files/cmp5.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/mcc_generated_files/cmp5.p1 mcc_generated_files/cmp5.c
@-${MV} ${OBJECTDIR}/mcc_generated_files/cmp5.d ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d
@${FIXDEPS} ${OBJECTDIR}/mcc_generated_files/cmp5.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.p1.d
@${RM} ${OBJECTDIR}/main.p1
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=$(CND_CONF) -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall $(COMPARISON_BUILD) -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o ${OBJECTDIR}/main.p1 main.c
@-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d
@${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: assemble
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
else
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: assembleWithPreprocess
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
else
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: link
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.map -D__DEBUG=1 -DXPRJ_default=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall -std=c99 -gdwarf-3 -mstack=compiled:auto:auto $(COMPARISON_BUILD) -Wl,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -o dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
@${RM} dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.hex
else
dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.map -DXPRJ_default=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall -std=c99 -gdwarf-3 -mstack=compiled:auto:auto $(COMPARISON_BUILD) -Wl,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -o dist/${CND_CONF}/${IMAGE_TYPE}/B1-firmware.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
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 "${PATH_TO_IDE_BIN}"mplabwildcard ${POSSIBLE_DEPFILES})
ifneq (${DEPFILES},)
include ${DEPFILES}
endif

View File

@ -0,0 +1,12 @@
#
#Fri Dec 04 18:42:49 PST 2020
default.languagetoolchain.version=2.31
default.Pack.dfplocation=/opt/microchip/mplabx/v5.45/packs/Microchip/PIC12-16F1xxx_DFP/1.2.63
conf.ids=default
default.languagetoolchain.dir=/opt/microchip/xc8/v2.31/bin
host.id=2p1a-byni-8f
configurations-xml=1ffa9967bc20918976800abc3126d2f1
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=4e1c703e057ce3824a620f2a747a6f88
default.com-microchip-mplab-nbide-toolchainXC8-XC8LanguageToolchain.md5=d9404904a11cd8baf0bd6c1f62dd8c23
proj.dir=/home/wbraun/Projects/little-bee-B1/firmware/B1-firmware.X
host.platform=linux

View File

@ -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=B1-firmware.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

View File

@ -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" ...
#
PATH_TO_IDE_BIN=/opt/microchip/mplabx/v5.45/mplab_platform/platform/../mplab_ide/modules/../../bin/
# Adding MPLAB X bin directory to path.
PATH:=/opt/microchip/mplabx/v5.45/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
# Path to java used to run MPLAB X when this makefile was created
MP_JAVA_PATH="/opt/microchip/mplabx/v5.45/sys/java/zulu8.40.0.25-ca-fx-jre8.0.222-linux_x64/bin/"
OS_CURRENT="$(shell uname -s)"
MP_CC="/opt/microchip/xc8/v2.31/bin/xc8-cc"
# MP_CPPC is not defined
# MP_BC is not defined
MP_AS="/opt/microchip/xc8/v2.31/bin/xc8-cc"
MP_LD="/opt/microchip/xc8/v2.31/bin/xc8-cc"
MP_AR="/opt/microchip/xc8/v2.31/bin/xc8-ar"
DEP_GEN=${MP_JAVA_PATH}java -jar "/opt/microchip/mplabx/v5.45/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
MP_CC_DIR="/opt/microchip/xc8/v2.31/bin"
# MP_CPPC_DIR is not defined
# MP_BC_DIR is not defined
MP_AS_DIR="/opt/microchip/xc8/v2.31/bin"
MP_LD_DIR="/opt/microchip/xc8/v2.31/bin"
MP_AR_DIR="/opt/microchip/xc8/v2.31/bin"
# MP_BC_DIR is not defined
DFP_DIR=/opt/microchip/mplabx/v5.45/packs/Microchip/PIC12-16F1xxx_DFP/1.2.63

View File

@ -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=B1-firmware.X.production.hex
CND_ARTIFACT_PATH_default=dist/default/production/B1-firmware.X.production.hex
CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package
CND_PACKAGE_NAME_default=b1-firmware.x.tar
CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/b1-firmware.x.tar

View File

@ -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}/B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
OUTPUT_BASENAME=B1-firmware.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
PACKAGE_TOP_DIR=b1-firmware.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}/b1-firmware.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/b1-firmware.x.tar
cd ${TMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/b1-firmware.x.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${TMPDIR}

View File

@ -0,0 +1,211 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="65">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true">
<logicalFolder name="MCC Generated Files"
displayName="MCC Generated Files"
projectFiles="true">
<itemPath>mcc_generated_files/device_config.h</itemPath>
<itemPath>mcc_generated_files/pin_manager.h</itemPath>
<itemPath>mcc_generated_files/mcc.h</itemPath>
<itemPath>mcc_generated_files/dac5.h</itemPath>
<itemPath>mcc_generated_files/adc.h</itemPath>
<itemPath>mcc_generated_files/dac1.h</itemPath>
<itemPath>mcc_generated_files/opa2.h</itemPath>
<itemPath>mcc_generated_files/opa1.h</itemPath>
<itemPath>mcc_generated_files/dac7.h</itemPath>
<itemPath>mcc_generated_files/interrupt_manager.h</itemPath>
<itemPath>mcc_generated_files/cmp1.h</itemPath>
<itemPath>mcc_generated_files/cmp2.h</itemPath>
<itemPath>mcc_generated_files/dac4.h</itemPath>
<itemPath>mcc_generated_files/dac3.h</itemPath>
<itemPath>mcc_generated_files/fvr.h</itemPath>
<itemPath>mcc_generated_files/cmp5.h</itemPath>
</logicalFolder>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
projectFiles="true">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true">
<logicalFolder name="MCC Generated Files"
displayName="MCC Generated Files"
projectFiles="true">
<itemPath>mcc_generated_files/device_config.c</itemPath>
<itemPath>mcc_generated_files/mcc.c</itemPath>
<itemPath>mcc_generated_files/pin_manager.c</itemPath>
<itemPath>mcc_generated_files/adc.c</itemPath>
<itemPath>mcc_generated_files/dac5.c</itemPath>
<itemPath>mcc_generated_files/dac1.c</itemPath>
<itemPath>mcc_generated_files/opa2.c</itemPath>
<itemPath>mcc_generated_files/opa1.c</itemPath>
<itemPath>mcc_generated_files/dac7.c</itemPath>
<itemPath>mcc_generated_files/dac4.c</itemPath>
<itemPath>mcc_generated_files/cmp2.c</itemPath>
<itemPath>mcc_generated_files/dac3.c</itemPath>
<itemPath>mcc_generated_files/cmp1.c</itemPath>
<itemPath>mcc_generated_files/interrupt_manager.c</itemPath>
<itemPath>mcc_generated_files/fvr.c</itemPath>
<itemPath>mcc_generated_files/cmp5.c</itemPath>
</logicalFolder>
<itemPath>main.c</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false">
<itemPath>Makefile</itemPath>
<itemPath>MyConfig.mc3</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="default" type="2">
<toolsSet>
<developmentServer>localhost</developmentServer>
<targetDevice>PIC16F1776</targetDevice>
<targetHeader></targetHeader>
<targetPluginBoard></targetPluginBoard>
<platformTool>pk4hybrid</platformTool>
<languageToolchain>XC8</languageToolchain>
<languageToolchainVersion>2.31</languageToolchainVersion>
<platform>2</platform>
</toolsSet>
<packs>
<pack name="PIC12-16F1xxx_DFP" vendor="Microchip" version="1.2.63"/>
</packs>
<ScriptingSettings>
</ScriptingSettings>
<compileType>
<linkerTool>
<linkerLibItems>
</linkerLibItems>
</linkerTool>
<archiverTool>
</archiverTool>
<loading>
<useAlternateLoadableFile>false</useAlternateLoadableFile>
<parseOnProdLoad>false</parseOnProdLoad>
<alternateLoadableFile></alternateLoadableFile>
</loading>
<subordinates>
</subordinates>
</compileType>
<makeCustomizationType>
<makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
<makeUseCleanTarget>false</makeUseCleanTarget>
<makeCustomizationPreStep></makeCustomizationPreStep>
<makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
<makeCustomizationPostStep></makeCustomizationPostStep>
<makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
<makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
<makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
</makeCustomizationType>
<HI-TECH-COMP>
<property key="additional-warnings" value="true"/>
<property key="asmlist" value="true"/>
<property key="call-prologues" value="false"/>
<property key="default-bitfield-type" value="true"/>
<property key="default-char-type" value="true"/>
<property key="define-macros" value=""/>
<property key="disable-optimizations" value="true"/>
<property key="extra-include-directories" value=""/>
<property key="favor-optimization-for" value="-speed,+space"/>
<property key="garbage-collect-data" value="true"/>
<property key="garbage-collect-functions" value="true"/>
<property key="identifier-length" value="255"/>
<property key="local-generation" value="false"/>
<property key="operation-mode" value="free"/>
<property key="opt-xc8-compiler-strict_ansi" value="false"/>
<property key="optimization-assembler" value="true"/>
<property key="optimization-assembler-files" value="true"/>
<property key="optimization-debug" value="false"/>
<property key="optimization-invariant-enable" value="false"/>
<property key="optimization-invariant-value" value="16"/>
<property key="optimization-level" value="-O0"/>
<property key="optimization-speed" value="false"/>
<property key="optimization-stable-enable" value="false"/>
<property key="pack-struct" value="true"/>
<property key="preprocess-assembler" value="true"/>
<property key="short-enums" value="true"/>
<property key="undefine-macros" value=""/>
<property key="use-cci" value="false"/>
<property key="use-iar" value="false"/>
<property key="verbose" value="false"/>
<property key="warning-level" value="-3"/>
<property key="what-to-do" value="ignore"/>
</HI-TECH-COMP>
<HI-TECH-LINK>
<property key="additional-options-checksum" value=""/>
<property key="additional-options-code-offset" value=""/>
<property key="additional-options-command-line" value=""/>
<property key="additional-options-errata" value=""/>
<property key="additional-options-extend-address" value="false"/>
<property key="additional-options-trace-type" value=""/>
<property key="additional-options-use-response-files" value="false"/>
<property key="backup-reset-condition-flags" value="false"/>
<property key="calibrate-oscillator" value="false"/>
<property key="calibrate-oscillator-value" value="0x3400"/>
<property key="clear-bss" value="true"/>
<property key="code-model-external" value="wordwrite"/>
<property key="code-model-rom" value=""/>
<property key="create-html-files" value="false"/>
<property key="data-model-ram" value=""/>
<property key="data-model-size-of-double" value="32"/>
<property key="data-model-size-of-double-gcc" value="no-short-double"/>
<property key="data-model-size-of-float" value="32"/>
<property key="data-model-size-of-float-gcc" value="no-short-float"/>
<property key="display-class-usage" value="false"/>
<property key="display-hex-usage" value="false"/>
<property key="display-overall-usage" value="true"/>
<property key="display-psect-usage" value="false"/>
<property key="extra-lib-directories" value=""/>
<property key="fill-flash-options-addr" value=""/>
<property key="fill-flash-options-const" value=""/>
<property key="fill-flash-options-how" value="0"/>
<property key="fill-flash-options-inc-const" value="1"/>
<property key="fill-flash-options-increment" value=""/>
<property key="fill-flash-options-seq" value=""/>
<property key="fill-flash-options-what" value="0"/>
<property key="format-hex-file-for-download" value="false"/>
<property key="initialize-data" value="true"/>
<property key="input-libraries" value="libm"/>
<property key="keep-generated-startup.as" value="false"/>
<property key="link-in-c-library" value="true"/>
<property key="link-in-c-library-gcc" value=""/>
<property key="link-in-peripheral-library" value="false"/>
<property key="managed-stack" value="false"/>
<property key="opt-xc8-linker-file" value="false"/>
<property key="opt-xc8-linker-link_startup" value="false"/>
<property key="opt-xc8-linker-serial" value=""/>
<property key="program-the-device-with-default-config-words" value="true"/>
<property key="remove-unused-sections" value="true"/>
</HI-TECH-LINK>
<XC8-CO>
<property key="coverage-enable" value=""/>
</XC8-CO>
<XC8-config-global>
<property key="advanced-elf" value="true"/>
<property key="gcc-opt-driver-new" value="true"/>
<property key="gcc-opt-std" value="-std=c99"/>
<property key="gcc-output-file-format" value="dwarf-3"/>
<property key="omit-pack-options" value="false"/>
<property key="omit-pack-options-new" value="1"/>
<property key="output-file-format" value="-mcof,+elf"/>
<property key="stack-size-high" value="auto"/>
<property key="stack-size-low" value="auto"/>
<property key="stack-size-main" value="auto"/>
<property key="stack-type" value="compiled"/>
<property key="user-pack-device-support" value=""/>
</XC8-config-global>
<pk4hybrid>
<property key="memories.programmemory.ranges" value="0-1fff"/>
<property key="programmerToGoFilePath"
value="/home/wbraun/Projects/little-bee/firmware/beewarev3.X/debug/default/beewarev3_ptg"/>
</pk4hybrid>
</conf>
</confs>
</configurationDescriptor>

View File

@ -0,0 +1,3 @@
#
#Wed Jul 29 19:32:54 PDT 2020
PICkit\ 4/CHECK_4_HIGH_VOLTAGE_VPP=true

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="65">
<projectmakefile>Makefile</projectmakefile>
<defaultConf>0</defaultConf>
<confs>
<conf name="default" type="2">
<platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>9012:=&lt;rev>0100:=&lt;man>Microchip Technology Incorporated:=&lt;prod>MPLAB PICkit 4:=&lt;sn>BUR181875593:=&lt;drv>x:=&lt;xpt>b:=end</platformToolSN>
<languageToolchainDir>/opt/microchip/xc8/v2.31/bin</languageToolchainDir>
<mdbdebugger version="1">
<placeholder1>place holder 1</placeholder1>
<placeholder2>place holder 2</placeholder2>
</mdbdebugger>
<runprofile version="6">
<args></args>
<rundir></rundir>
<buildfirst>true</buildfirst>
<console-type>0</console-type>
<terminal-type>0</terminal-type>
<remove-instrumentation>0</remove-instrumentation>
<environment>
</environment>
</runprofile>
</conf>
</confs>
</configurationDescriptor>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/wbraun/Projects/little-bee-B1/firmware/B1-firmware.X/mcc_generated_files/adc.c</file>
<file>file:/home/wbraun/Projects/little-bee-B1/firmware/B1-firmware.X/main.c</file>
</group>
</open-files>
</project-private>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>com.microchip.mplab.nbide.embedded.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>B1-firmware</name>
<name>beeware</name>
<creation-uuid>7bb5d8e4-88d1-4c0a-9bac-fa16efd637f8</creation-uuid>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions>h</header-extensions>
<asminc-extensions/>
<sourceEncoding>ISO-8859-1</sourceEncoding>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>
<name>default</name>
<type>2</type>
</confElem>
</confList>
<formatting>
<project-formatting-style>false</project-formatting-style>
</formatting>
</data>
</configuration>
</project>

1221
mcad/casing-bottom.step Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More