Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 276 → Rev 277

/PIC Stuff/PICX_16F1829_Controller/CPS.c
0,0 → 1,129
#include "defines.h"
#include "CPS.h"
 
static CPS_DATA *cps_data_p;
 
void CPS_Init(CPS_DATA* data) {
cps_data_p = data;
for (uint8_t i = 0; i < 4; i++) {
cps_data_p->btn_pressed[i] = 0;
cps_data_p->btn_last_value[i] = 0;
cps_data_p->btn_avg_value[i] = 0;
cps_data_p->btn_pct_value[i] = 0;
}
 
cps_data_p->channels[0] = 8;
cps_data_p->channels[1] = 9;
 
/* Initialize FVR for the upper threshold (Ref+) */
FVRCONbits.CDAFVR = 0b01; // Gain of 1x (1.024V)
FVRCONbits.FVREN = 1; // Enable FVR module
 
/* Initialize DAC for the lower threshold (Ref-) to Vss */
DACCON0bits.DACEN = 0; // Disable DAC
DACCON0bits.DACLPS = 0; // Negative reference source selected
DACCON0bits.DACOE = 0; // Output not routed to DACOUT pin
DACCON0bits.DACPSS = 0b00; // Vss used as positive source
// DACCON0bits.DACNSS = 0; // Vss used as negative source
// Output voltage formula:
// V_out = ((V_source+ - V_source-) * (DACR / 32)) + V_source-
DACCON1bits.DACR = 0b00000; // Voltage output set to 0v
 
// /* Initialize DAC for the lower threshold (Ref-) to variable setting */
// DACCON0bits.DACEN = 1; // Enable DAC
// DACCON0bits.DACLPS = 1; // Positive reference source selected
// DACCON0bits.DACOE = 0; // Output not routed to DACOUT pin
// DACCON0bits.DACPSS = 0b10; // FVR buffer2 used as positive source
//// DACCON0bits.DACNSS = 0; // Vss used as negative source
// // Output voltage formula:
// // V_out = ((V_source+ - V_source-) * (DACR / 32)) + V_source-
// DACCON1bits.DACR = 0b10000; // Voltage output set to 0.512v
 
/* Initialize Timer 0 */
OPTION_REGbits.TMR0CS = 0; // Clock source is FOSC/4
OPTION_REGbits.PSA = 0; // Prescaler enabled
OPTION_REGbits.PS = 0b110; // Prescaler of 1:128
 
/* Initialize Timer 1 */
T1CONbits.TMR1CS = 0b11; // Clock source is Capacitive Sensing Oscillator
T1CONbits.T1CKPS = 0b00; // 1:1 Prescale value
T1GCONbits.TMR1GE = 1; // Counting is controlled by the gate function
T1GCONbits.T1GPOL = 1; // Gate is active high
T1GCONbits.T1GTM = 1; // Gate toggle mode is enabled
T1GCONbits.T1GSPM = 0; // Gate single-pulse mode is disabled
T1GCONbits.T1GSS = 0b01; // Gate source is Timer 0 overflow
T1CONbits.TMR1ON = 1; // Enables timer 1
 
/* Initialize CPS Module */
CPSCON0bits.CPSRM = 1; // DAC and FVR used for Vref- and Vref+
CPSCON0bits.CPSRNG = 0b11; // Osc in high range (100uA)
CPSCON0bits.T0XCS = 0; // Timer 0 clock runs at FOSC/4
CPSCON1 = cps_data_p->channels[0];
cps_data_p->channel = 0;
CPSCON0bits.CPSON = 1; // CPS module is enabled
 
/* Initialize timer interrupts and clear timers */
INTCONbits.TMR0IE = 1; // Timer 0 interrupt enabled
PIE1bits.TMR1IE = 0; // Timer 1 interrupt disabled
CPS_Reset();
}
 
void CPS_Timer_0_Interrupt_Handler() {
uint16_t value = TMR1;
int32_t percent;
if (value < 10) {
return;
}
 
// Calculate percentage change
percent = (int32_t)cps_data_p->btn_avg_value[cps_data_p->channel]-(int32_t)value;
if (percent < 0)
percent = 0;
else {
percent *= 100;
percent /= cps_data_p->btn_avg_value[cps_data_p->channel];
}
 
cps_data_p->btn_last_value[cps_data_p->channel] = value;
cps_data_p->btn_pct_value[cps_data_p->channel] = percent;
 
if (percent < CPS_PCT_OFF) {
// Calculate average
cps_data_p->btn_avg_value[cps_data_p->channel] +=
// ((int32_t)value - (int32_t)cps_data_p->btn_avg_value[cps_data_p->channel])/CPS_AVG_COUNT;
((int32_t)value - (int32_t)cps_data_p->btn_avg_value[cps_data_p->channel]) >> 4;
// Set flag to indicate that button is not pressed
cps_data_p->btn_pressed[cps_data_p->channel] = 0;
} else if (percent > CPS_PCT_ON) {
// Set flag to indicate that button was pressed
cps_data_p->btn_pressed[cps_data_p->channel] = 1;
}
 
cps_data_p->channel = cps_data_p->channel + 1;
if (cps_data_p->channel == CPS_NUM_CHANNELS)
cps_data_p->channel = 0;
 
CPSCON1 = cps_data_p->channels[cps_data_p->channel];
 
CPS_Reset();
}
 
void CPS_Reset() {
TMR1 = 0;
TMR0 = 0;
}
 
void CPS_Enable() {
INTCONbits.TMR0IE = 1; // Timer 0 interrupt enabled
T1CONbits.TMR1ON = 1;
CPSCON0bits.CPSON = 1;
CPS_Reset();
}
 
void CPS_Disable() {
INTCONbits.TMR0IE = 0;
CPSCON0bits.CPSON = 0;
T1CONbits.TMR1ON = 0;
}
/PIC Stuff/PICX_16F1829_Controller/CPS.h
0,0 → 1,31
#ifndef CPS_H
#define CPS_H
 
// Size of rolling average buffer
#define CPS_AVG_COUNT 16
 
// Number of capacitance button inputs
#define CPS_NUM_CHANNELS 2
 
// Value of capacitance change to register button press
#define CPS_PCT_ON 40
#define CPS_PCT_OFF 40
 
typedef struct {
uint8_t channel;
uint8_t channels[CPS_NUM_CHANNELS];
uint8_t btn_pressed[CPS_NUM_CHANNELS];
uint16_t btn_last_value[CPS_NUM_CHANNELS];
uint16_t btn_avg_value[CPS_NUM_CHANNELS];
uint8_t btn_pct_value[CPS_NUM_CHANNELS];
} CPS_DATA;
 
void CPS_Init(CPS_DATA *data);
void CPS_Timer_0_Interrupt_Handler(void);
void CPS_Reset(void);
 
void CPS_Enable(void);
void CPS_Disable(void);
 
#endif
 
/PIC Stuff/PICX_16F1829_Controller/I2C1.c
41,6 → 41,7
SSP1STAT = 0x0;
SSP1CON1 = 0x0;
SSP1CON2 = 0x0;
SSP1CON3 = 0x0;
SSP1CON1bits.SSPM = 0x8; // I2C Master Mode
if (speed == 0x01) {
SSP1ADD = 0x13; // Operate at 400KHz (32MHz)
134,9 → 135,12
SSP1STAT = 0x0;
SSP1CON1 = 0x0;
SSP1CON2 = 0x0;
SSP1CON1bits.SSPM = 0xE; // Enable Slave 7-bit w/ start/stop interrupts
SSP1CON3 = 0x0;
SSP1CON1bits.SSPM = 0x6; // Enable Slave 7-bit address
SSP1STATbits.SMP = 1; // Slew Off
SSP1CON2bits.SEN = 1; // Enable clock-stretching
SSP1CON3bits.PCIE = 1; // Interrupt on stop condition
SSP1CON3bits.SCIE = 0; // Disable interrupt on start condition
SSP1CON1bits.SSPEN = 1; // Enable MSSP1 Module
}
 
349,7 → 353,6
// Read SPPxBUF if it is full
if (SSP1STATbits.BF == 1) {
received_data = SSP1BUF;
// DBG_PRINT_I2C("I2C: data read from buffer: %x\r\n", SSP1BUF);
data_read_from_buffer = 1;
}
 
357,20 → 360,21
switch (i2c_data_p->operating_state) {
case I2C_IDLE:
{
// Ignore anything except a start
if (SSP1STATbits.S == 1) {
i2c_data_p->buffer_in_len_tmp = 0;
i2c_data_p->operating_state = I2C_STARTED;
}
break;
}
case I2C_STARTED:
{
// // Ignore anything except a start
// if (SSP1STATbits.S == 1) {
// i2c_data_p->buffer_in_len_tmp = 0;
// i2c_data_p->operating_state = I2C_STARTED;
// }
// break;
// }
// case I2C_STARTED:
// {
// In this case, we expect either an address or a stop bit
if (SSP1STATbits.P == 1) {
// Return to idle mode
i2c_data_p->operating_state = I2C_IDLE;
} else if (data_read_from_buffer) {
i2c_data_p->buffer_in_len_tmp = 0;
if (SSP1STATbits.D_nA == 0) {
// Address received
if (SSP1STATbits.R_nW == 0) {
384,7 → 388,7
}
} else {
i2c_data_p->operating_state = I2C_IDLE;
i2c_data_p->return_status = I2C_ERR_NODATA;
i2c_data_p->return_status = I2C_ERR_NOADDR;
}
}
break;
/PIC Stuff/PICX_16F1829_Controller/I2C2.c
40,6 → 40,7
SSP2STAT = 0x0;
SSP2CON1 = 0x0;
SSP2CON2 = 0x0;
SSP2CON3 = 0x0;
SSP2CON1bits.SSPM = 0x8; // I2C Master Mode
if (speed == 0x01) {
SSP2ADD = 0x13; // Operate at 400KHz (32MHz)
133,9 → 134,12
SSP2STAT = 0x0;
SSP2CON1 = 0x0;
SSP2CON2 = 0x0;
SSP2CON3 = 0x0;
SSP2CON1bits.SSPM = 0xE; // Enable Slave 7-bit w/ start/stop interrupts
SSP2STATbits.SMP = 1; // Slew Off
SSP2CON2bits.SEN = 1; // Enable clock-stretching
SSP1CON3bits.PCIE = 1; // Interrupt on stop condition
SSP1CON3bits.SCIE = 0; // Disable interrupt on start condition
SSP2CON1bits.SSPEN = 1; // Enable MSSP2 Module
}
 
355,16 → 359,16
if (!overrun_error) {
switch (i2c_data_p->operating_state) {
case I2C_IDLE:
// {
// // Ignore anything except a start
// if (SSP2STATbits.S == 1) {
// i2c_data_p->buffer_in_len_tmp = 0;
// i2c_data_p->operating_state = I2C_STARTED;
// }
// break;
// }
// case I2C_STARTED:
{
// Ignore anything except a start
if (SSP2STATbits.S == 1) {
i2c_data_p->buffer_in_len_tmp = 0;
i2c_data_p->operating_state = I2C_STARTED;
}
break;
}
case I2C_STARTED:
{
// In this case, we expect either an address or a stop bit
if (SSP2STATbits.P == 1) {
// Return to idle mode
383,7 → 387,7
}
} else {
i2c_data_p->operating_state = I2C_IDLE;
i2c_data_p->return_status = I2C_ERR_NODATA;
i2c_data_p->return_status = I2C_ERR_NOADDR;
}
}
break;
/PIC Stuff/PICX_16F1829_Controller/INTERRUPTS.c
3,6 → 3,7
#include "I2C1.h"
#include "I2C2.h"
#include "IO.h"
#include "CPS.h"
 
void Interrupt_Init() {
 
20,6 → 21,7
}
 
void interrupt InterruptHandler(void) {
uint8_t tmr0_rollover = 0;
// 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.
 
34,9 → 36,16
// return;
// }
 
 
// Check to see if we have an interrupt on Timer 0 (CPS)
if (INTCONbits.TMR0IF) {
CPS_Timer_0_Interrupt_Handler();
INTCONbits.TMR0IF = 0;
return;
}
// Check to see if we have an I2C1 interrupt
if (PIR1bits.SSP1IF) {
 
// Call the handler
I2C1_Interrupt_Handler();
 
43,7 → 52,9
// Clear the interrupt flag
PIR1bits.SSP1IF = 0;
 
return;
if (INTCONbits.TMR0IF) {
tmr0_rollover = 1;
}
}
 
// Check to see if we have an I2C2 interrupt
54,9 → 65,19
// Clear the interrupt flag
PIR4bits.SSP2IF = 0;
 
return;
if (INTCONbits.TMR0IF) {
tmr0_rollover = 1;
}
}
 
 
// If Timer 0 rolls over while servicing another interrupt handler,
// reset the timers as the sample will be inaccurate.
if (tmr0_rollover) {
INTCONbits.TMR0IF = 0;
CPS_Reset();
}
 
// // Check to see if we have an IO interrupt
// if (INTCONbits.IOCIF) {
// // Call the handler
/PIC Stuff/PICX_16F1829_Controller/IO.c
36,6 → 36,14
I2C_1_DAT_TRIS = 1;
I2C_2_CLK_TRIS = 1;
I2C_2_DAT_TRIS = 1;
 
// Set the CPS pins
CPS_L_TRIS = 1;
CPS_R_TRIS = 1;
CPS_L_ANSL = 1;
CPS_R_ANSL = 1;
CPS_R_WPU = 0;
CPS_L_WPU = 0;
}
 
void IO_IOC_Enable(void) {
/PIC Stuff/PICX_16F1829_Controller/TLC59116.c
53,7 → 53,6
 
void TLC59116_Write_All(LED_VALUES *values) {
uint8_t buffer[17];
uint8_t i;
 
buffer[0] = TLC59116_AUTO_INCR_ALL | TLC59116_REG_PWM0; // Register Select
buffer[1] = values->w[0];
/PIC Stuff/PICX_16F1829_Controller/defines.h
27,9 → 27,6
#define UART_RX_TRIS TRISCbits.TRISC5
#define UART_TX_TRIS TRISCbits.TRISC4
 
#define BTN_CAP_0_TRIS TRISCbits.TRISC6
#define BTN_CAP_1_TRIS TRISCbits.TRISC7
 
#define BTN_INT_TRIS TRISAbits.TRISA2
 
#define I2C_ADDR_3_TRIS TRISCbits.TRISC3
52,6 → 49,14
 
#define I2C_2_CLK_TRIS TRISBbits.TRISB7
#define I2C_2_DAT_TRIS TRISBbits.TRISB5
 
#define CPS_R_TRIS TRISCbits.TRISC6
#define CPS_L_TRIS TRISCbits.TRISC7
#define CPS_R_ANSL ANSELCbits.ANSC6
#define CPS_L_ANSL ANSELCbits.ANSC7
#define CPS_R_WPU WPUCbits.WPUC6
#define CPS_L_WPU WPUCbits.WPUC7
 
// </editor-fold>
 
#define _XTAL_FREQ 32000000
73,6 → 78,12
 
#define I2C1_SLAVE_PREFIX 0x10
 
#define DIR_BRIGHTNESS 0x40
#define DIR_S 0x00
#define DIR_W 0x01
#define DIR_N 0x02
#define DIR_E 0x03
 
typedef union {
struct {
unsigned BTN_L_N :1;
112,8 → 123,11
void Reset_Board(uint8_t next_state);
uint8_t Get_Last_Reset(void);
 
void Check_I2C(void);
void Check_I2C_Idle(void);
void Idle_Animation(void);
 
uint8_t Direction_Rotate_Clockwise(uint8_t);
uint8_t Direction_Rotate_CClockwise(uint8_t);
 
#endif /* DEFINES_H */
 
/PIC Stuff/PICX_16F1829_Controller/funclist
1,34 → 1,42
_I2C2_Interrupt_Master: CODE, 27 0 706
_Get_Last_Reset: CODE, 6101 0 43
_I2C1_Init: CODE, 2680 0 91
_I2C1_Interrupt_Slave: CODE, 3275 0 397
_Check_I2C: CODE, 1958 0 88
_I2C1_Read_Buffer: CODE, 2440 0 78
_I2C2_Init: CODE, 2771 0 91
_I2C2_Interrupt_Slave: CODE, 3672 0 424
_I2C2_Read_Buffer: CODE, 2362 0 78
_main: CODE, 3033 0 242
_Interrupt_Enable: CODE, 5870 0 3
_I2C2_Master_Restart: CODE, 2518 0 79
_InterruptHandler: CODE, 4 0 21
_Read_Address: CODE, 5894 0 15
_I2C1_Process_Receive: CODE, 2048 0 30
_Interrupt_Init: CODE, 2046 0 1
__initialization: CODE, 6009 0 23
_MCP23009_Init: CODE, 2123 0 46
_I2C2_Process_Receive: CODE, 5867 0 3
_TLC59116_Init: CODE, 2292 0 70
_I2C2_Configure_Master: CODE, 2078 0 45
_I2C1_Interrupt_Handler: CODE, 5909 0 24
_MCP23009_Query: CODE, 6064 0 37
_IO_Init: CODE, 5983 0 26
_I2C2_Master_Send: CODE, 2597 0 83
_I2C1_Configure_Slave: CODE, 6035 0 29
_I2C2_Interrupt_Handler: CODE, 5957 0 26
_TLC59116_Write_All: CODE, 2862 0 171
_Reset_Board: CODE, 5885 0 9
_I2C1_Get_Status: CODE, 2169 0 61
_I2C1_Interrupt_Master: CODE, 733 0 663
_I2C2_Get_Status: CODE, 2230 0 62
_Idle_Animation: CODE, 1396 0 562
Total: 4327
_I2C2_Interrupt_Master: CODE, 50 0 706
_Get_Last_Reset: CODE, 5000 0 43
___aldiv: CODE, 6014 0 130
_I2C1_Init: CODE, 2079 0 91
_I2C1_Interrupt_Slave: CODE, 3072 0 426
_I2C1_Read_Buffer: CODE, 5565 0 78
_CPS_Reset: CODE, 4772 0 5
_I2C2_Init: CODE, 1928 0 91
_I2C2_Interrupt_Slave: CODE, 2653 0 419
_I2C2_Read_Buffer: CODE, 5487 0 78
_main: CODE, 1462 0 466
_Interrupt_Enable: CODE, 2045 0 3
_Direction_Rotate_Clockwise: CODE, 5421 0 66
_I2C2_Master_Restart: CODE, 5643 0 79
_Direction_Rotate_CClockwise: CODE, 5355 0 66
_InterruptHandler: CODE, 4 0 44
___lmul: CODE, 5135 0 47
_Check_I2C_Idle: CODE, 5182 0 49
_Read_Address: CODE, 4798 0 15
_I2C1_Process_Receive: CODE, 2048 0 31
_Interrupt_Init: CODE, 3 0 1
__initialization: CODE, 4929 0 31
_MCP23009_Init: CODE, 5089 0 46
_I2C2_Process_Receive: CODE, 4764 0 3
_TLC59116_Init: CODE, 5805 0 85
_CPS_Timer_0_Interrupt_Handler: CODE, 2312 0 341
_I2C2_Configure_Master: CODE, 5043 0 46
_I2C1_Interrupt_Handler: CODE, 4837 0 26
_MCP23009_Query: CODE, 4963 0 37
_IO_Init: CODE, 4895 0 34
_I2C2_Master_Send: CODE, 5722 0 83
_I2C1_Configure_Slave: CODE, 4863 0 32
_I2C2_Interrupt_Handler: CODE, 2019 0 26
_TLC59116_Write_All: CODE, 2170 0 142
_Reset_Board: CODE, 4789 0 9
i1_CPS_Reset: CODE, 4767 0 5
_I2C1_Get_Status: CODE, 5293 0 62
_CPS_Init: CODE, 5890 0 124
_I2C1_Interrupt_Master: CODE, 756 0 706
_I2C2_Get_Status: CODE, 5231 0 62
_Idle_Animation: CODE, 3498 0 598
Total: 5432
/PIC Stuff/PICX_16F1829_Controller/l.obj
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/PIC Stuff/PICX_16F1829_Controller/main.c
26,6 → 26,7
#include "IO.h"
#include "I2C1.h"
#include "I2C2.h"
#include "CPS.h"
#include "TLC59116.h"
#include "MCP23009.h"
 
117,6 → 118,9
I2C2_Init(&i2c2_data);
I2C2_Configure_Master(I2C_1MHZ);
 
CPS_DATA cps_data;
CPS_Init(&cps_data);
 
// Initialize interrupts
Interrupt_Init();
Interrupt_Enable();
131,23 → 135,53
// IO_IOC_Enable();
Idle_Animation();
} else if (op_state == OP_STATE_ACTIVE) {
uint8_t button_R = 0, button_L = 0;
uint8_t dir_state = DIR_S;
leds.single.LED_S = DIR_BRIGHTNESS;
TLC59116_Write_All(&leds);
while (1) {
// Check if an I2C message was received
result = I2C1_Get_Status();
if (result) {
length = I2C1_Read_Buffer(buffer);
if (length == 1 && buffer[0] == CMD_RESET) {
Reset_Board(OP_STATE_IDLE);
} else if (length == 1 && buffer[0] == CMD_ACTIVE) {
Reset_Board(OP_STATE_ACTIVE);
} else if (length == 17 && buffer[0] == CMD_SET_LEDS) {
for (i = 0; i < 16; i++) {
leds.w[i] = buffer[i + 1];
}
TLC59116_Write_All(&leds);
do {
result = I2C1_Get_Status();
} while (!result);
length = I2C1_Read_Buffer(buffer);
if (length == 1 && buffer[0] == CMD_RESET) {
Reset_Board(OP_STATE_IDLE);
} else if (length == 1 && buffer[0] == CMD_ACTIVE) {
Reset_Board(OP_STATE_ACTIVE);
} else if (length == 17 && buffer[0] == CMD_SET_LEDS) {
for (i = 0; i < 16; i++) {
leds.w[i] = buffer[i + 1];
}
// Reset the direction LEDs
if (dir_state == DIR_S)
leds.single.LED_S = DIR_BRIGHTNESS;
else if (dir_state == DIR_W)
leds.single.LED_W = DIR_BRIGHTNESS;
else if (dir_state == DIR_N)
leds.single.LED_N = DIR_BRIGHTNESS;
else if (dir_state == DIR_E)
leds.single.LED_E = DIR_BRIGHTNESS;
TLC59116_Write_All(&leds);
}
 
// Check if either capacitive buttons were pressed
if (cps_data.btn_pressed[0] && button_R == 0) {
// Right button went from unpressed -> pressed
dir_state = Direction_Rotate_CClockwise(dir_state);
TLC59116_Write_All(&leds);
}
if (cps_data.btn_pressed[1] && button_L == 0) {
// Left button went from unpressed -> pressed
dir_state = Direction_Rotate_Clockwise(dir_state);
TLC59116_Write_All(&leds);
}
// Save the previous button state
button_R = cps_data.btn_pressed[0];
button_L = cps_data.btn_pressed[1];
 
// Poll the hardware buttons
I2C2_Master_Restart(MCP23009_ADDR, MCP23009_GPIOA, 1);
do {
result = I2C2_Get_Status();
154,11 → 188,86
} while (!result);
length = I2C2_Read_Buffer(buffer);
btns.w = buffer[0];
// Change the direction according to the user's perspective
if (dir_state == DIR_W) {
uint8_t tmp = btns.BTN_R_S;
btns.BTN_R_S = btns.BTN_R_W;
btns.BTN_R_W = btns.BTN_R_N;
btns.BTN_R_N = btns.BTN_R_E;
btns.BTN_R_E = tmp;
} else if (dir_state == DIR_E) {
uint8_t tmp = btns.BTN_R_S;
btns.BTN_R_S = btns.BTN_R_E;
btns.BTN_R_E = btns.BTN_R_N;
btns.BTN_R_N = btns.BTN_R_W;
btns.BTN_R_W = tmp;
} else if (dir_state == DIR_N) {
uint8_t tmp = btns.BTN_R_S;
btns.BTN_R_S = btns.BTN_R_N;
btns.BTN_R_N = tmp;
tmp = btns.BTN_R_E;
btns.BTN_R_E = btns.BTN_R_W;
btns.BTN_R_W = tmp;
}
}
}
}
 
void Check_I2C(void) {
uint8_t Direction_Rotate_Clockwise(uint8_t dir_state) {
uint8_t ret;
switch (dir_state) {
case DIR_S:
leds.single.LED_S = 0x00;
leds.single.LED_W = DIR_BRIGHTNESS;
ret = DIR_W;
break;
case DIR_W:
leds.single.LED_W = 0x00;
leds.single.LED_N = DIR_BRIGHTNESS;
ret = DIR_N;
break;
case DIR_N:
leds.single.LED_N = 0x00;
leds.single.LED_E = DIR_BRIGHTNESS;
ret = DIR_E;
break;
case DIR_E:
leds.single.LED_E = 0x00;
leds.single.LED_S = DIR_BRIGHTNESS;
ret = DIR_S;
break;
}
return ret;
}
 
uint8_t Direction_Rotate_CClockwise(uint8_t dir_state) {
uint8_t ret;
switch (dir_state) {
case DIR_S:
leds.single.LED_S = 0x00;
leds.single.LED_E = DIR_BRIGHTNESS;
ret = DIR_E;
break;
case DIR_E:
leds.single.LED_E = 0x00;
leds.single.LED_N = DIR_BRIGHTNESS;
ret = DIR_N;
break;
case DIR_N:
leds.single.LED_N = 0x00;
leds.single.LED_W = DIR_BRIGHTNESS;
ret = DIR_W;
break;
case DIR_W:
leds.single.LED_W = 0x00;
leds.single.LED_S = DIR_BRIGHTNESS;
ret = DIR_S;
break;
}
return ret;
}
 
void Check_I2C_Idle(void) {
uint8_t buffer[32];
uint8_t result, length, i;
 
170,11 → 279,6
Reset_Board(OP_STATE_IDLE);
} else if (length == 1 && buffer[0] == CMD_ACTIVE) {
Reset_Board(OP_STATE_ACTIVE);
} else if (length == 17 && buffer[0] == CMD_SET_LEDS) {
for (i = 0; i < 16; i++) {
leds.w[i] = buffer[i + 1];
}
TLC59116_Write_All(&leds);
}
}
}
195,7 → 299,7
while (1) {
 
// Check to see if a new message was received
Check_I2C();
Check_I2C_Idle();
 
// Update the LEDs in the middle section
for (i = 0; i < 8; i++) {
/PIC Stuff/PICX_16F1829_Controller/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 I2C1.c INTERRUPTS.c I2C2.c TLC59116.c MCP23009.c IO.c
SOURCEFILES_QUOTED_IF_SPACED=main.c I2C1.c INTERRUPTS.c I2C2.c TLC59116.c MCP23009.c IO.c CPS.c
 
# Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/I2C1.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/I2C2.p1 ${OBJECTDIR}/TLC59116.p1 ${OBJECTDIR}/MCP23009.p1 ${OBJECTDIR}/IO.p1
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/I2C1.p1.d ${OBJECTDIR}/INTERRUPTS.p1.d ${OBJECTDIR}/I2C2.p1.d ${OBJECTDIR}/TLC59116.p1.d ${OBJECTDIR}/MCP23009.p1.d ${OBJECTDIR}/IO.p1.d
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/I2C1.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/I2C2.p1 ${OBJECTDIR}/TLC59116.p1 ${OBJECTDIR}/MCP23009.p1 ${OBJECTDIR}/IO.p1 ${OBJECTDIR}/CPS.p1
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/I2C1.p1.d ${OBJECTDIR}/INTERRUPTS.p1.d ${OBJECTDIR}/I2C2.p1.d ${OBJECTDIR}/TLC59116.p1.d ${OBJECTDIR}/MCP23009.p1.d ${OBJECTDIR}/IO.p1.d ${OBJECTDIR}/CPS.p1.d
 
# Object Files
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/I2C1.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/I2C2.p1 ${OBJECTDIR}/TLC59116.p1 ${OBJECTDIR}/MCP23009.p1 ${OBJECTDIR}/IO.p1
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/I2C1.p1 ${OBJECTDIR}/INTERRUPTS.p1 ${OBJECTDIR}/I2C2.p1 ${OBJECTDIR}/TLC59116.p1 ${OBJECTDIR}/MCP23009.p1 ${OBJECTDIR}/IO.p1 ${OBJECTDIR}/CPS.p1
 
# Source Files
SOURCEFILES=main.c I2C1.c INTERRUPTS.c I2C2.c TLC59116.c MCP23009.c IO.c
SOURCEFILES=main.c I2C1.c INTERRUPTS.c I2C2.c TLC59116.c MCP23009.c IO.c CPS.c
 
 
CFLAGS=
82,7 → 82,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/main.p1.d
@${RM} ${OBJECTDIR}/main.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/main.p1 main.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/main.p1 main.c
@-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d
@${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
90,7 → 90,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/I2C1.p1.d
@${RM} ${OBJECTDIR}/I2C1.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C1.p1 I2C1.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C1.p1 I2C1.c
@-${MV} ${OBJECTDIR}/I2C1.d ${OBJECTDIR}/I2C1.p1.d
@${FIXDEPS} ${OBJECTDIR}/I2C1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
98,7 → 98,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/INTERRUPTS.p1.d
@${RM} ${OBJECTDIR}/INTERRUPTS.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/INTERRUPTS.p1 INTERRUPTS.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/INTERRUPTS.p1 INTERRUPTS.c
@-${MV} ${OBJECTDIR}/INTERRUPTS.d ${OBJECTDIR}/INTERRUPTS.p1.d
@${FIXDEPS} ${OBJECTDIR}/INTERRUPTS.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
106,7 → 106,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/I2C2.p1.d
@${RM} ${OBJECTDIR}/I2C2.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C2.p1 I2C2.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C2.p1 I2C2.c
@-${MV} ${OBJECTDIR}/I2C2.d ${OBJECTDIR}/I2C2.p1.d
@${FIXDEPS} ${OBJECTDIR}/I2C2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
114,7 → 114,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/TLC59116.p1.d
@${RM} ${OBJECTDIR}/TLC59116.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TLC59116.p1 TLC59116.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TLC59116.p1 TLC59116.c
@-${MV} ${OBJECTDIR}/TLC59116.d ${OBJECTDIR}/TLC59116.p1.d
@${FIXDEPS} ${OBJECTDIR}/TLC59116.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
122,7 → 122,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/MCP23009.p1.d
@${RM} ${OBJECTDIR}/MCP23009.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/MCP23009.p1 MCP23009.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/MCP23009.p1 MCP23009.c
@-${MV} ${OBJECTDIR}/MCP23009.d ${OBJECTDIR}/MCP23009.p1.d
@${FIXDEPS} ${OBJECTDIR}/MCP23009.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
130,16 → 130,24
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/IO.p1.d
@${RM} ${OBJECTDIR}/IO.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/IO.p1 IO.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/IO.p1 IO.c
@-${MV} ${OBJECTDIR}/IO.d ${OBJECTDIR}/IO.p1.d
@${FIXDEPS} ${OBJECTDIR}/IO.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/CPS.p1: CPS.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/CPS.p1.d
@${RM} ${OBJECTDIR}/CPS.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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/CPS.p1 CPS.c
@-${MV} ${OBJECTDIR}/CPS.d ${OBJECTDIR}/CPS.p1.d
@${FIXDEPS} ${OBJECTDIR}/CPS.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
else
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/main.p1.d
@${RM} ${OBJECTDIR}/main.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/main.p1 main.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/main.p1 main.c
@-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d
@${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
147,7 → 155,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/I2C1.p1.d
@${RM} ${OBJECTDIR}/I2C1.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C1.p1 I2C1.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C1.p1 I2C1.c
@-${MV} ${OBJECTDIR}/I2C1.d ${OBJECTDIR}/I2C1.p1.d
@${FIXDEPS} ${OBJECTDIR}/I2C1.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
155,7 → 163,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/INTERRUPTS.p1.d
@${RM} ${OBJECTDIR}/INTERRUPTS.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/INTERRUPTS.p1 INTERRUPTS.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/INTERRUPTS.p1 INTERRUPTS.c
@-${MV} ${OBJECTDIR}/INTERRUPTS.d ${OBJECTDIR}/INTERRUPTS.p1.d
@${FIXDEPS} ${OBJECTDIR}/INTERRUPTS.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
163,7 → 171,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/I2C2.p1.d
@${RM} ${OBJECTDIR}/I2C2.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C2.p1 I2C2.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/I2C2.p1 I2C2.c
@-${MV} ${OBJECTDIR}/I2C2.d ${OBJECTDIR}/I2C2.p1.d
@${FIXDEPS} ${OBJECTDIR}/I2C2.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
171,7 → 179,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/TLC59116.p1.d
@${RM} ${OBJECTDIR}/TLC59116.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TLC59116.p1 TLC59116.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/TLC59116.p1 TLC59116.c
@-${MV} ${OBJECTDIR}/TLC59116.d ${OBJECTDIR}/TLC59116.p1.d
@${FIXDEPS} ${OBJECTDIR}/TLC59116.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
179,7 → 187,7
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/MCP23009.p1.d
@${RM} ${OBJECTDIR}/MCP23009.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/MCP23009.p1 MCP23009.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/MCP23009.p1 MCP23009.c
@-${MV} ${OBJECTDIR}/MCP23009.d ${OBJECTDIR}/MCP23009.p1.d
@${FIXDEPS} ${OBJECTDIR}/MCP23009.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
187,10 → 195,18
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/IO.p1.d
@${RM} ${OBJECTDIR}/IO.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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/IO.p1 IO.c
${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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/IO.p1 IO.c
@-${MV} ${OBJECTDIR}/IO.d ${OBJECTDIR}/IO.p1.d
@${FIXDEPS} ${OBJECTDIR}/IO.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
${OBJECTDIR}/CPS.p1: CPS.c nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${OBJECTDIR}
@${RM} ${OBJECTDIR}/CPS.p1.d
@${RM} ${OBJECTDIR}/CPS.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=require --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 "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -o${OBJECTDIR}/CPS.p1 CPS.c
@-${MV} ${OBJECTDIR}/CPS.d ${OBJECTDIR}/CPS.p1.d
@${FIXDEPS} ${OBJECTDIR}/CPS.p1.d $(SILENT) -rsi ${MP_CC_DIR}../
endif
 
# ------------------------------------------------------------------------------------
204,13 → 220,13
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
dist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.map -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 "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.map -D__DEBUG=1 --debugger=pickit3 --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --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 "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
@${RM} dist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.hex
else
dist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.map --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 "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.map --double=24 --float=24 --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --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 "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/${CND_CONF}/${IMAGE_TYPE}/PICX_16F1829_Controller.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
endif
 
/PIC Stuff/PICX_16F1829_Controller/nbproject/Makefile-genesis.properties
1,5 → 1,5
#
#Mon Mar 17 00:03:41 EDT 2014
#Wed Mar 19 00:58:38 EDT 2014
default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc8\\v1.20\\bin
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=1f98a0eed69cb2a45c12981fa9470927
default.languagetoolchain.version=1.20
/PIC Stuff/PICX_16F1829_Controller/nbproject/configurations.xml
11,6 → 11,7
<itemPath>TLC59116.h</itemPath>
<itemPath>MCP23009.h</itemPath>
<itemPath>IO.h</itemPath>
<itemPath>CPS.h</itemPath>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
26,6 → 27,7
<itemPath>TLC59116.c</itemPath>
<itemPath>MCP23009.c</itemPath>
<itemPath>IO.c</itemPath>
<itemPath>CPS.c</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
78,7 → 80,7
<property key="optimization-global" value="true"/>
<property key="optimization-level" value="9"/>
<property key="optimization-set" value="default"/>
<property key="optimization-speed" value="false"/>
<property key="optimization-speed" value="true"/>
<property key="preprocess-assembler" value="true"/>
<property key="undefine-macros" value=""/>
<property key="use-cci" value="false"/>
85,7 → 87,7
<property key="use-iar" value="false"/>
<property key="verbose" value="false"/>
<property key="warning-level" value="0"/>
<property key="what-to-do" value="ignore"/>
<property key="what-to-do" value="require"/>
</HI-TECH-COMP>
<HI-TECH-LINK>
<property key="additional-options-checksum" value=""/>