/PIC Stuff/PICX_16F1825_Stepper_Driver/TIMER.h |
---|
File deleted |
/PIC Stuff/PICX_16F1825_Stepper_Driver/ADC.c |
---|
File deleted |
/PIC Stuff/PICX_16F1825_Stepper_Driver/ADC.h |
---|
File deleted |
/PIC Stuff/PICX_16F1825_Stepper_Driver/TIMER.c |
---|
File deleted |
/PIC Stuff/PICX_16F1825_Stepper_Driver/INTERRUPTS.c |
---|
2,7 → 2,6 |
#include "INTERRUPTS.h" |
#include "IOC.h" |
#include "SPI.h" |
#include "TIMER.h" |
void Interrupt_Init() { |
} |
22,14 → 21,6 |
// We need to check the interrupt flag of each enabled high-priority interrupt to |
// see which device generated this interrupt. Then we can call the correct handler. |
if (PIR1bits.TMR2IF) { |
TIMER_2_Interrupt_Handler(); |
PIR1bits.TMR2IF = 0; |
return; |
} |
if (INTCONbits.IOCIF) { |
// Call the handler |
IOC_Interrupt_Handler(); |
39,5 → 30,38 |
return; |
} |
// // Check to see if we have an I2C interrupt |
// if (PIR1bits.SSP1IF) { |
// |
// // Call the handler |
// I2C1_Interrupt_Handler(); |
// |
// // Clear the interrupt flag |
// PIR1bits.SSP1IF = 0; |
// |
// return; |
// } |
// if (PIR1bits.RCIF) { |
// |
// // Call the handler |
// UART_RX_Interrupt_Handler(); |
// |
// // Clear the interrupt flag |
// PIR1bits.RCIF = 0; |
// |
// return; |
// } |
// if (PIR1bits.TXIF) { |
// |
// // Call the handler |
// UART_TX_Interrupt_Handler(); |
// |
// // Clear the interrupt flag |
// PIR1bits.TXIF = 0; |
// |
// return; |
// } |
} |
/PIC Stuff/PICX_16F1825_Stepper_Driver/IOC.c |
---|
13,14 → 13,8 |
} |
void IOC_Interrupt_Handler(void) { |
STEP_LAT = 1; |
STEP_LAT = 0; |
if (IOCAFbits.IOCAF3) { |
// Delay to debounce button on any edge |
__delay_ms(1); |
if (SW_1_PORT) { |
switch (Get_Cur_Mode()) { |
case SINGLE_STEP: |
29,6 → 23,9 |
case AUTO_STEP: |
STEPPER_Toggle_Auto(); |
break; |
case SET_DELAY: |
STEPPER_Set_Next_Delay(); |
break; |
case SET_MICROSTEP: |
STEPPER_Set_Next_Step(); |
break; |
36,25 → 33,20 |
} |
// Delay to debounce button on any edge |
__delay_ms(1); |
__delay_ms(200); |
IOCAFbits.IOCAF3 = 0; |
return; |
} |
if (IOCAFbits.IOCAF4) { |
// Delay to debounce button on any edge |
__delay_ms(1); |
if (SW_2_PORT) { |
Set_Next_Mode(); |
} |
// Delay to debounce button on any edge |
__delay_ms(1); |
__delay_ms(200); |
IOCAFbits.IOCAF4 = 0; |
return; |
} |
} |
/PIC Stuff/PICX_16F1825_Stepper_Driver/SPI.h |
---|
1,7 → 1,7 |
#ifndef SPI_H |
#define SPI_H |
#define MAX_SPI_BUFFER 64 |
#define MAX_SPI_BUFFER 16 |
#define SPI_WRITE_ONLY |
#define SPI2_FOSC_TMR2 0b0011 |
/PIC Stuff/PICX_16F1825_Stepper_Driver/STEPPER.c |
---|
1,10 → 1,9 |
#include "defines.h" |
#include "STEPPER.h" |
#include "OLED_SSD1306.h" |
#include "ADC.h" |
#include "TIMER.h" |
static STEPPER_MICROSTEP currStep = STEP_1_1; |
static STEPPER_SPEED currSpeed = DELAY_1000MS; |
static uint8_t autoOn = 0; |
void STEPPER_Set_Microstep(STEPPER_MICROSTEP step) { |
66,25 → 65,64 |
return currStep; |
} |
void STEPPER_Set_Next_Delay() { |
switch (currSpeed) { |
default: |
case DELAY_1000MS: |
currSpeed = DELAY_500MS; |
break; |
case DELAY_500MS: |
currSpeed = DELAY_333MS; |
break; |
case DELAY_333MS: |
currSpeed = DELAY_250MS; |
break; |
case DELAY_250MS: |
currSpeed = DELAY_100MS; |
break; |
case DELAY_100MS: |
currSpeed = DELAY_50MS; |
break; |
case DELAY_50MS: |
currSpeed = DELAY_25MS; |
break; |
case DELAY_25MS: |
currSpeed = DELAY_10MS; |
break; |
case DELAY_10MS: |
currSpeed = DELAY_5MS; |
break; |
case DELAY_5MS: |
currSpeed = DELAY_1MS; |
break; |
case DELAY_1MS: |
currSpeed = DELAY_1000MS; |
break; |
} |
} |
STEPPER_SPEED STEPPER_Get_Cur_Speed(void) { |
return currSpeed; |
} |
void STEPPER_Toggle_Auto() { |
if (autoOn == 0) { |
// Turn on automatic stepping |
TIMER_2_Init(STEPPER_Step); |
TIMER_2_Set_Delay((ADC_Read(POT_ADC_CHANNEL) >> 4) + 1); |
TIMER_2_Start(); |
autoOn = 1; |
} else { |
// Turn off automatic stepping |
TIMER_2_Stop(); |
autoOn = 0; |
} |
} |
STEPPER_SPEED STEPPER_Get_Auto() { |
if (autoOn == 0) { |
return DELAY_STOPPED; |
} else { |
return currSpeed; |
} |
} |
void STEPPER_Step() { |
// Toggle step pin |
STEP_LAT = 1; |
__delay_us(2); |
STEP_LAT = 0; |
// Set the timer delay for the next step |
TIMER_2_Set_Delay((ADC_Read(POT_ADC_CHANNEL) >> 4) + 1); |
} |
/PIC Stuff/PICX_16F1825_Stepper_Driver/STEPPER.h |
---|
12,10 → 12,27 |
STEP_1_32 |
} STEPPER_MICROSTEP; |
typedef enum { |
DELAY_1000MS, |
DELAY_500MS, |
DELAY_333MS, |
DELAY_250MS, |
DELAY_100MS, |
DELAY_50MS, |
DELAY_25MS, |
DELAY_10MS, |
DELAY_5MS, |
DELAY_1MS, |
DELAY_STOPPED |
} STEPPER_SPEED; |
void STEPPER_Set_Microstep(STEPPER_MICROSTEP); |
void STEPPER_Set_Next_Step(void); |
STEPPER_MICROSTEP STEPPER_Get_Cur_Step(void); |
void STEPPER_Set_Next_Delay(void); |
STEPPER_SPEED STEPPER_Get_Cur_Speed(void); |
void STEPPER_Toggle_Auto(void); |
STEPPER_SPEED STEPPER_Get_Auto(void); |
void STEPPER_Step(void); |
#endif /* STEPPER_H */ |
/PIC Stuff/PICX_16F1825_Stepper_Driver/defines.h |
---|
9,18 → 9,18 |
#define CONTROL_FROM_UART |
// <editor-fold defaultstate="collapsed" desc="I/O Pins"> |
// Stepper Driver |
#define STEP_TRIS TRISAbits.TRISA5 |
#define STEP_LAT LATAbits.LATA5 |
#define M2_TRIS TRISCbits.TRISC3 |
#define M2_LAT LATCbits.LATC3 |
#define M1_TRIS TRISCbits.TRISC4 |
#define M1_LAT LATCbits.LATC4 |
#define M0_TRIS TRISCbits.TRISC5 |
#define M0_LAT LATCbits.LATC5 |
// I/O |
#define SW_2_TRIS TRISAbits.TRISA4 |
#define SW_2_PORT PORTAbits.RA4 |
#define SW_2_INLVL INLVLAbits.INLVLA4 |
30,11 → 30,8 |
#define SW_1_INLVL INLVLAbits.INLVLA3 |
#define STEP_CURRENT_TRIS TRISAbits.TRISA1 |
#define STEP_ADC_CHANNEL 1 |
#define POT_CURRENT_TRIS TRISAbits.TRISA0 |
#define POT_ADC_CHANNEL 0 |
// SPI |
#define SPI_MOSI_TRIS TRISCbits.TRISC2 |
#define SPI_MOSI_LAT LATCbits.LATC2 |
#define SPI_CLK_TRIS TRISCbits.TRISC0 |
51,6 → 48,7 |
typedef enum { |
SINGLE_STEP, |
AUTO_STEP, |
SET_DELAY, |
SET_MICROSTEP |
} OPERATING_MODE; |
60,8 → 58,7 |
void Update_OLED(void); |
void Draw_Manual_Text(uint8_t selected); |
void Draw_Auto_Text(uint8_t selected); |
void Draw_Speed_Text(STEPPER_SPEED speed, uint8_t selected); |
void Draw_Step_Text(STEPPER_MICROSTEP step, uint8_t selected); |
void Draw_Stepper_Current(void); |
void Draw_Pot_Value(void); |
#endif /* DEFINES_H */ |
/PIC Stuff/PICX_16F1825_Stepper_Driver/funclist |
---|
1,65 → 1,49 |
___awdiv: CODE, 5299 0 84 |
_TIMER_2_Init: CODE, 4280 0 29 |
_TIMER_2_Stop: CODE, 8075 0 3 |
_IOC_Interrupt_Handler: CODE, 5383 0 85 |
_Update_OLED: CODE, 5468 0 85 |
_TIMER_2_Start: CODE, 8072 0 3 |
_Set_Next_Mode: CODE, 2024 0 24 |
__stringdata: STRCODE, 1541 0 10 |
_Draw_Auto_Text: CODE, 5068 0 76 |
_SSD1306_Set_Cursor: CODE, 4115 0 20 |
_Draw_Pot_Value: CODE, 4732 0 51 |
___ftpack: CODE, 5553 0 97 |
_IOC_Init: CODE, 8082 0 7 |
___awdiv: CODE, 2353 0 84 |
_IOC_Interrupt_Handler: CODE, 2275 0 78 |
_Update_OLED: CODE, 56 0 131 |
_STEPPER_Get_Cur_Speed: CODE, 2 0 2 |
_Set_Next_Mode: CODE, 5753 0 31 |
_STEPPER_Set_Next_Delay: CODE, 2064 0 57 |
_Draw_Auto_Text: CODE, 2121 0 77 |
_SSD1306_Set_Cursor: CODE, 5494 0 20 |
i1_STEPPER_Step: CODE, 5426 0 9 |
_Draw_Speed_Text: CODE, 5994 0 75 |
_IOC_Init: CODE, 5404 0 7 |
_font: STRCODE, 256 0 1275 |
_dpowers: STRCODE, 1531 0 10 |
_memset: CODE, 4369 0 30 |
_STEPPER_Set_Microstep: CODE, 4835 0 54 |
_main: CODE, 4684 0 48 |
_Interrupt_Enable: CODE, 4096 0 3 |
___lwtoft: CODE, 4155 0 21 |
_TIMER_2_Set_Delay: CODE, 8096 0 11 |
_SSD1306_Draw_Fast_VLine: CODE, 4944 0 59 |
_SSD1306_Abs: CODE, 8142 0 15 |
_SSD1306_Set_Text_Color: CODE, 4135 0 20 |
_InterruptHandler: CODE, 4 0 23 |
_SSD1306_Swap: CODE, 4253 0 27 |
_SSD1306_Init: CODE, 2048 0 95 |
_SPI_Write: CODE, 4431 0 34 |
_Draw_Manual_Text: CODE, 5144 0 76 |
_Get_Cur_Mode: CODE, 8069 0 3 |
_SSD1306_Write: CODE, 2627 0 261 |
_SSD1306_Begin: CODE, 5650 0 126 |
_STEPPER_Set_Next_Step: CODE, 4399 0 32 |
_Interrupt_Init: CODE, 3 0 1 |
__initialization: CODE, 29 0 51 |
_SSD1306_Write_String: CODE, 4176 0 25 |
___lwdiv: CODE, 4889 0 55 |
_SSD1306_Draw_Line: CODE, 2367 0 260 |
_TIMER_2_Interrupt_Handler: CODE, 5220 0 79 |
_SSD1306_Draw_Char: CODE, 1551 0 473 |
_STEPPER_Step: CODE, 4309 0 30 |
_Draw_Stepper_Current: CODE, 5956 0 188 |
_SSD1306_Fill_Rect: CODE, 5003 0 65 |
_SPI_Init: CODE, 4465 0 40 |
_isdigit: CODE, 8157 0 15 |
_sprintf: CODE, 3186 0 398 |
_Draw_Step_Text: CODE, 2888 0 298 |
_SSD1306_Set_Text_Size: CODE, 4227 0 26 |
___lwmod: CODE, 4637 0 47 |
_SSD1306_Clear_Display: CODE, 4099 0 16 |
___ftmul: CODE, 5776 0 180 |
_TIMER_Init: CODE, 8089 0 7 |
_ADC_Read: CODE, 4783 0 52 |
_SSD1306_Command: CODE, 8172 0 20 |
_SSD1306_Draw_Pixel: CODE, 2143 0 224 |
___wmul: CODE, 4339 0 30 |
_ADC_Init: CODE, 8107 0 11 |
_SSD1306_Display: CODE, 4201 0 26 |
_SSD1306_Set_Text_Wrap: CODE, 8118 0 12 |
_STEPPER_Toggle_Auto: CODE, 4548 0 44 |
___fttol: CODE, 84 0 135 |
_Pins_Init: CODE, 4505 0 43 |
i1_ADC_Read: CODE, 4592 0 45 |
_STEPPER_Get_Cur_Step: CODE, 253 0 3 |
Total: 5696 |
_memset: CODE, 5692 0 30 |
_STEPPER_Set_Microstep: CODE, 5940 0 54 |
_main: CODE, 2658 0 217 |
_Interrupt_Enable: CODE, 2043 0 3 |
_SSD1306_Draw_Fast_VLine: CODE, 5857 0 40 |
_SSD1306_Abs: CODE, 5459 0 15 |
_SSD1306_Set_Text_Color: CODE, 5514 0 20 |
_InterruptHandler: CODE, 4 0 15 |
_SSD1306_Swap: CODE, 5635 0 27 |
_SSD1306_Init: CODE, 2437 0 95 |
_SPI_Write: CODE, 5784 0 34 |
_Draw_Manual_Text: CODE, 2198 0 77 |
_Get_Cur_Mode: CODE, 5402 0 2 |
_SSD1306_Write: CODE, 3101 0 243 |
_SSD1306_Begin: CODE, 2532 0 126 |
_STEPPER_Set_Next_Step: CODE, 5722 0 31 |
_Interrupt_Init: CODE, 5401 0 1 |
__initialization: CODE, 21 0 31 |
_SSD1306_Write_String: CODE, 5558 0 25 |
_SSD1306_Draw_Line: CODE, 3344 0 260 |
_SSD1306_Draw_Char: CODE, 3604 0 492 |
_STEPPER_Step: CODE, 246 0 10 |
_SSD1306_Fill_Rect: CODE, 187 0 59 |
_SPI_Init: CODE, 5818 0 39 |
_Draw_Step_Text: CODE, 6069 0 75 |
_STEPPER_Get_Auto: CODE, 5411 0 7 |
_SSD1306_Set_Text_Size: CODE, 5609 0 26 |
_SSD1306_Clear_Display: CODE, 2048 0 16 |
_SSD1306_Command: CODE, 5474 0 20 |
_SSD1306_Draw_Pixel: CODE, 2875 0 226 |
___wmul: CODE, 5662 0 30 |
_SSD1306_Display: CODE, 5583 0 26 |
_SSD1306_Set_Text_Wrap: CODE, 5435 0 12 |
_STEPPER_Toggle_Auto: CODE, 5418 0 8 |
_Pins_Init: CODE, 5897 0 43 |
_STEPPER_Get_Cur_Step: CODE, 2046 0 2 |
Total: 4283 |
/PIC Stuff/PICX_16F1825_Stepper_Driver/l.obj |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/PIC Stuff/PICX_16F1825_Stepper_Driver/main.c |
---|
26,10 → 26,7 |
#include "STEPPER.h" |
#include "IOC.h" |
#include "SPI.h" |
#include "ADC.h" |
#include "OLED_SSD1306.h" |
#include "TIMER.h" |
#include <stdio.h> |
void Pins_Init(void) { |
// RA0 and RA1 pins as analog input |
42,19 → 39,21 |
// SDO1 on RC2 |
APFCON0bits.SDOSEL = 0; |
// Stepper Driver |
STEP_TRIS = 0; |
STEP_LAT = 0; |
M0_TRIS = 0; |
M0_LAT = 0; |
M1_TRIS = 0; |
M1_LAT = 0; |
M2_TRIS = 0; |
M2_LAT = 0; |
// I/O |
SW_1_TRIS = 1; |
SW_1_INLVL = 1; |
SW_2_TRIS = 1; |
SW_2_INLVL = 1; |
61,7 → 60,6 |
STEP_CURRENT_TRIS = 1; |
POT_CURRENT_TRIS = 1; |
// SPI |
SPI_MOSI_TRIS = 0; |
SPI_CLK_TRIS = 0; |
SPI_DC_SELECT_TRIS = 0; |
83,11 → 81,6 |
IOC_Init(); |
ADC_Init(); |
TIMER_DATA timer_data; |
TIMER_Init(&timer_data); |
SPI_DATA spi_data; |
SPI_Init(&spi_data, SPI2_FOSC_16); |
102,10 → 95,55 |
SSD1306_Begin(SSD1306_SWITCHCAPVCC); |
while(1) { |
Update_OLED(); |
// __delay_ms(1); |
switch (STEPPER_Get_Auto()) { |
case DELAY_1000MS: |
STEPPER_Step(); |
__delay_ms(1000); |
break; |
case DELAY_500MS: |
STEPPER_Step(); |
__delay_ms(500); |
break; |
case DELAY_333MS: |
STEPPER_Step(); |
__delay_ms(333); |
break; |
case DELAY_250MS: |
STEPPER_Step(); |
__delay_ms(250); |
break; |
case DELAY_100MS: |
STEPPER_Step(); |
__delay_ms(100); |
break; |
case DELAY_50MS: |
STEPPER_Step(); |
__delay_ms(50); |
break; |
case DELAY_25MS: |
STEPPER_Step(); |
__delay_ms(25); |
break; |
case DELAY_10MS: |
STEPPER_Step(); |
__delay_ms(10); |
break; |
case DELAY_5MS: |
STEPPER_Step(); |
__delay_ms(5); |
break; |
case DELAY_1MS: |
STEPPER_Step(); |
__delay_ms(1); |
break; |
case DELAY_STOPPED: |
break; |
} |
} |
} |
void Set_Next_Mode() { |
switch (currMode) { |
113,6 → 151,9 |
currMode = AUTO_STEP; |
break; |
case AUTO_STEP: |
currMode = SET_DELAY; |
break; |
case SET_DELAY: |
currMode = SET_MICROSTEP; |
break; |
case SET_MICROSTEP: |
135,25 → 176,31 |
Draw_Manual_Text(1); |
Draw_Auto_Text(0); |
Draw_Step_Text(STEPPER_Get_Cur_Step(), 0); |
Draw_Speed_Text(STEPPER_Get_Cur_Speed(), 0); |
break; |
case AUTO_STEP: |
Draw_Manual_Text(0); |
Draw_Auto_Text(1); |
Draw_Step_Text(STEPPER_Get_Cur_Step(), 0); |
Draw_Speed_Text(STEPPER_Get_Cur_Speed(), 0); |
break; |
case SET_MICROSTEP: |
case SET_DELAY: |
Draw_Manual_Text(0); |
Draw_Auto_Text(0); |
Draw_Step_Text(STEPPER_Get_Cur_Step(), 1); |
Draw_Speed_Text(STEPPER_Get_Cur_Speed(), 0); |
break; |
case SET_MICROSTEP: |
Draw_Manual_Text(0); |
Draw_Auto_Text(0); |
Draw_Step_Text(STEPPER_Get_Cur_Step(), 0); |
Draw_Speed_Text(STEPPER_Get_Cur_Speed(), 1); |
break; |
} |
Draw_Stepper_Current(); |
Draw_Pot_Value(); |
SSD1306_Display(); |
} |
void Draw_Manual_Text(uint8_t selected) { |
// Draw and/or highlight the stepping mode in the top left corner |
uint8_t stringManual[] = "MANUAL"; |
if (selected) { |
SSD1306_Fill_Rect(0, 0, 75, 16, 1); |
166,7 → 213,6 |
} |
void Draw_Auto_Text(uint8_t selected) { |
// Draw and/or highlight the stepping mode in the top right corner |
uint8_t stringAuto[] = "AUTO"; |
if (selected) { |
SSD1306_Fill_Rect(76, 0, 53, 16, 1); |
178,34 → 224,20 |
SSD1306_Write_String(stringAuto, 4); |
} |
void Draw_Stepper_Current() { |
// Draw the stepper motor current draw in the bottom right corner |
uint8_t buffer[6] = {0}; |
uint16_t potVoltage = ADC_Read(STEP_ADC_CHANNEL); |
// Compute current from voltage reading (2x) |
uint16_t current = potVoltage * 0.3222 * 2; |
uint8_t preDecimal = current / 100; |
uint8_t postDecimal = current % 100; |
sprintf(buffer, "%1d.%02dA", preDecimal, postDecimal); |
void Draw_Speed_Text(STEPPER_SPEED speed, uint8_t selected) { |
uint8_t stringSpeed[] = "1000Hz"; |
if (selected) { |
SSD1306_Fill_Rect(53, 16, 76, 16, 1); |
SSD1306_Set_Text_Color(0); |
} else { |
SSD1306_Set_Text_Color(1); |
SSD1306_Set_Cursor(67, 17); |
SSD1306_Write_String(buffer, 5); |
} |
void Draw_Pot_Value() { |
// Draw a line indicating auto rotation delay |
uint8_t potVoltage = ADC_Read(POT_ADC_CHANNEL) >> 4; |
SSD1306_Draw_Line(127, 31, 127 - potVoltage, 31, 1); |
SSD1306_Set_Cursor(55, 17); |
SSD1306_Write_String(stringSpeed, 6); |
} |
void Draw_Step_Text(STEPPER_MICROSTEP step, uint8_t selected) { |
// Draw and/or highlight the stepping in the bottom left corner |
uint8_t stringStepping32[] = "1/32"; |
uint8_t stringStepping16[] = "1/16"; |
uint8_t stringStepping8[] = "1/8"; |
uint8_t stringStepping4[] = "1/4"; |
uint8_t stringStepping2[] = "1/2"; |
uint8_t stringStepping1[] = "1/1"; |
uint8_t stringStepping[] = "1/32"; |
if (selected) { |
SSD1306_Fill_Rect(0, 16, 52, 16, 1); |
SSD1306_Set_Text_Color(0); |
212,23 → 244,6 |
} else { |
SSD1306_Set_Text_Color(1); |
} |
if (step == STEP_1_32) { |
SSD1306_Set_Cursor(2, 17); |
SSD1306_Write_String(stringStepping32, 4); |
} else if (step == STEP_1_16) { |
SSD1306_Set_Cursor(2, 17); |
SSD1306_Write_String(stringStepping16, 4); |
} else if (step == STEP_1_8) { |
SSD1306_Set_Cursor(8, 17); |
SSD1306_Write_String(stringStepping8, 3); |
} else if (step == STEP_1_4) { |
SSD1306_Set_Cursor(8, 17); |
SSD1306_Write_String(stringStepping4, 3); |
} else if (step == STEP_1_2) { |
SSD1306_Set_Cursor(8, 17); |
SSD1306_Write_String(stringStepping2, 3); |
} else if (step == STEP_1_1) { |
SSD1306_Set_Cursor(8, 17); |
SSD1306_Write_String(stringStepping1, 3); |
} |
SSD1306_Write_String(stringStepping, 4); |
} |
/PIC Stuff/PICX_16F1825_Stepper_Driver/nbproject/Makefile-default.mk |
---|
45,17 → 45,17 |
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} |
# Source Files Quoted if spaced |
SOURCEFILES_QUOTED_IF_SPACED=main.c INTERRUPTS.c STEPPER.c IOC.c SPI.c OLED_SSD1306.c ADC.c TIMER.c |
SOURCEFILES_QUOTED_IF_SPACED=main.c INTERRUPTS.c STEPPER.c IOC.c SPI.c OLED_SSD1306.c |
# Object Files Quoted if spaced |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/STEPPER.p1 ${OBJECTDIR}/IOC.p1 ${OBJECTDIR}/SPI.p1 ${OBJECTDIR}/OLED_SSD1306.p1 ${OBJECTDIR}/ADC.p1 ${OBJECTDIR}/TIMER.p1 |
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/INTERRUPTS.p1.d ${OBJECTDIR}/STEPPER.p1.d ${OBJECTDIR}/IOC.p1.d ${OBJECTDIR}/SPI.p1.d ${OBJECTDIR}/OLED_SSD1306.p1.d ${OBJECTDIR}/ADC.p1.d ${OBJECTDIR}/TIMER.p1.d |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/STEPPER.p1 ${OBJECTDIR}/IOC.p1 ${OBJECTDIR}/SPI.p1 ${OBJECTDIR}/OLED_SSD1306.p1 |
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/INTERRUPTS.p1.d ${OBJECTDIR}/STEPPER.p1.d ${OBJECTDIR}/IOC.p1.d ${OBJECTDIR}/SPI.p1.d ${OBJECTDIR}/OLED_SSD1306.p1.d |
# Object Files |
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/STEPPER.p1 ${OBJECTDIR}/IOC.p1 ${OBJECTDIR}/SPI.p1 ${OBJECTDIR}/OLED_SSD1306.p1 ${OBJECTDIR}/ADC.p1 ${OBJECTDIR}/TIMER.p1 |
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/STEPPER.p1 ${OBJECTDIR}/IOC.p1 ${OBJECTDIR}/SPI.p1 ${OBJECTDIR}/OLED_SSD1306.p1 |
# Source Files |
SOURCEFILES=main.c INTERRUPTS.c STEPPER.c IOC.c SPI.c OLED_SSD1306.c ADC.c TIMER.c |
SOURCEFILES=main.c INTERRUPTS.c STEPPER.c IOC.c SPI.c OLED_SSD1306.c |
CFLAGS= |
126,22 → 126,6 |
@-${MV} ${OBJECTDIR}/OLED_SSD1306.d ${OBJECTDIR}/OLED_SSD1306.p1.d |
@${FIXDEPS} ${OBJECTDIR}/OLED_SSD1306.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/ADC.p1: ADC.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/ADC.p1.d |
@${RM} ${OBJECTDIR}/ADC.p1 |
${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/ADC.p1 ADC.c |
@-${MV} ${OBJECTDIR}/ADC.d ${OBJECTDIR}/ADC.p1.d |
@${FIXDEPS} ${OBJECTDIR}/ADC.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/TIMER.p1: TIMER.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/TIMER.p1.d |
@${RM} ${OBJECTDIR}/TIMER.p1 |
${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TIMER.p1 TIMER.c |
@-${MV} ${OBJECTDIR}/TIMER.d ${OBJECTDIR}/TIMER.p1.d |
@${FIXDEPS} ${OBJECTDIR}/TIMER.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
else |
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
191,22 → 175,6 |
@-${MV} ${OBJECTDIR}/OLED_SSD1306.d ${OBJECTDIR}/OLED_SSD1306.p1.d |
@${FIXDEPS} ${OBJECTDIR}/OLED_SSD1306.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/ADC.p1: ADC.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/ADC.p1.d |
@${RM} ${OBJECTDIR}/ADC.p1 |
${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/ADC.p1 ADC.c |
@-${MV} ${OBJECTDIR}/ADC.d ${OBJECTDIR}/ADC.p1.d |
@${FIXDEPS} ${OBJECTDIR}/ADC.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/TIMER.p1: TIMER.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/TIMER.p1.d |
@${RM} ${OBJECTDIR}/TIMER.p1 |
${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TIMER.p1 TIMER.c |
@-${MV} ${OBJECTDIR}/TIMER.d ${OBJECTDIR}/TIMER.p1.d |
@${FIXDEPS} ${OBJECTDIR}/TIMER.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
endif |
# ------------------------------------------------------------------------------------ |
/PIC Stuff/PICX_16F1825_Stepper_Driver/nbproject/Makefile-genesis.properties |
---|
1,5 → 1,5 |
# |
#Thu Sep 04 00:52:07 EDT 2014 |
#Wed Sep 03 01:49:46 EDT 2014 |
default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc8\\v1.32\\bin |
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=1f98a0eed69cb2a45c12981fa9470927 |
default.languagetoolchain.version=1.32 |
/PIC Stuff/PICX_16F1825_Stepper_Driver/nbproject/configurations.xml |
---|
10,8 → 10,6 |
<itemPath>IOC.h</itemPath> |
<itemPath>SPI.h</itemPath> |
<itemPath>OLED_SSD1306.h</itemPath> |
<itemPath>ADC.h</itemPath> |
<itemPath>TIMER.h</itemPath> |
</logicalFolder> |
<logicalFolder name="LinkerScript" |
displayName="Linker Files" |
26,8 → 24,6 |
<itemPath>IOC.c</itemPath> |
<itemPath>SPI.c</itemPath> |
<itemPath>OLED_SSD1306.c</itemPath> |
<itemPath>ADC.c</itemPath> |
<itemPath>TIMER.c</itemPath> |
</logicalFolder> |
<logicalFolder name="ExternalFiles" |
displayName="Important Files" |
45,7 → 41,7 |
<targetPluginBoard></targetPluginBoard> |
<platformTool>PICkit3PlatformTool</platformTool> |
<languageToolchain>XC8</languageToolchain> |
<languageToolchainVersion>1.32</languageToolchainVersion> |
<languageToolchainVersion></languageToolchainVersion> |
<platform>3</platform> |
</toolsSet> |
<compileType> |
136,7 → 132,6 |
<property key="ToolFirmwareFilePath" |
value="Press to browse for a specific firmware version"/> |
<property key="ToolFirmwareOption.UseLatestFirmware" value="true"/> |
<property key="firmware.download.all" value="false"/> |
<property key="hwtoolclock.frcindebug" value="false"/> |
<property key="memories.aux" value="false"/> |
<property key="memories.bootflash" value="false"/> |
/PIC Stuff/PICX_16F1825_Stepper_Driver/nbproject/private/configurations.xml |
---|
5,7 → 5,7 |
<confs> |
<conf name="default" type="2"> |
<platformToolSN>:=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>900A:=<rev>0002:=<man>Microchip Technology Inc.:=<prod>PICkit 3:=<sn>BUR114189291:=<drv>x:=<xpt>h:=end</platformToolSN> |
<languageToolchainDir>C:\Program Files (x86)\Microchip\xc8\v1.32\bin</languageToolchainDir> |
<languageToolchainDir></languageToolchainDir> |
<mdbdebugger version="1"> |
<placeholder1>place holder 1</placeholder1> |
<placeholder2>place holder 2</placeholder2> |