/PIC Stuff/PICX_16F1829_BLE_IMU/MAX17040.h |
---|
File deleted |
/PIC Stuff/PICX_16F1829_BLE_IMU/RN-42.c |
---|
File deleted |
\ No newline at end of file |
/PIC Stuff/PICX_16F1829_BLE_IMU/RN-42.h |
---|
File deleted |
/PIC Stuff/PICX_16F1829_BLE_IMU/MAX17040.c |
---|
File deleted |
\ No newline at end of file |
/PIC Stuff/PICX_16F1829_BLE_IMU/Demo.py |
---|
18,9 → 18,9 |
print("Connected to serial port.") |
# Loop reading in data from the sensor |
while(1): |
s = ser.read(21) |
s = ser.read(19) |
# Ensure that the data properly ends in a newline |
if s[20] == ord('\n'): |
if s[18] == ord('\n'): |
# Read in accelerometer data and convert from two's compliment |
A_X = ((s[1] << 8) | s[0]) |
A_Y = ((s[3] << 8) | s[2]) |
45,13 → 45,9 |
M_Y_N = twos_comp(M_Y, 16) |
M_Z_N = twos_comp(M_Z, 16) |
# Read in battery status |
B_H = s[18] |
B_L = s[19] |
# Print out the processed data |
print("A: %-6i %-6i %-6i G: %-6i %-6i %-6i M: %-6i %-6i %-6i B: %u.%u" % \ |
(A_X_N, A_Y_N, A_Z_N, G_X_N, G_Y_N, G_Z_N, M_X_N, M_Y_N, M_Z_N, B_H, B_L)) |
print("A: %-6i %-6i %-6i G: %-6i %-6i %-6i M: %-6i %-6i %-6i" % \ |
(A_X_N, A_Y_N, A_Z_N, G_X_N, G_Y_N, G_Z_N, M_X_N, M_Y_N, M_Z_N)) |
else: |
break |
except: |
/PIC Stuff/PICX_16F1829_BLE_IMU/funclist |
---|
1,44 → 1,35 |
_TIMER_2_Init: CODE, 2661 0 16 |
_I2C_Get_Status: CODE, 3217 0 62 |
_TIMER_2_Init: CODE, 3210 0 14 |
_I2C_Get_Status: CODE, 3578 0 62 |
_I2C_Interrupt_Master: CODE, 264 0 706 |
_TIMER_2_Start: CODE, 2623 0 3 |
__stringtab: STRING, 235 0 1 |
_I2C_Read_Buffer: CODE, 3546 0 72 |
_TIMER_2_Start: CODE, 3171 0 3 |
_I2C_Read_Buffer: CODE, 3706 0 72 |
__i1fptable: CODE, 257 0 7 |
__stringdata: STRING, 236 0 20 |
_INTERRUPT_Init: CODE, 2620 0 3 |
_UART_Read: CODE, 4013 0 83 |
_MAX17040_Init: CODE, 2728 0 31 |
_INTERRUPT_Init: CODE, 3168 0 3 |
_I2C_Interrupt_Slave: CODE, 970 0 424 |
_INTERRUPT_Handler: CODE, 4 0 46 |
_I2C_Configure_Master: CODE, 2759 0 34 |
_I2C_Master_Send: CODE, 3930 0 83 |
_UART_Init: CODE, 3040 0 57 |
_RN42_Init: CODE, 3618 0 75 |
_main: CODE, 1611 0 210 |
_Error: CODE, 2983 0 57 |
_TIMER_1_Init: CODE, 2677 0 25 |
_Timer_2_Callback: CODE, 3343 0 66 |
_I2C_Process_Send: CODE, 3155 0 62 |
_I2C_Interrupt_Handler: CODE, 2702 0 26 |
_RN42_Enter_CMD_Mode: CODE, 3476 0 70 |
_UART_TX_Interrupt_Handler: CODE, 3097 0 58 |
__initialization: CODE, 2928 0 52 |
_TIMER_2_Interrupt_Handler: CODE, 2626 0 5 |
_I2C_Master_Restart: CODE, 3693 0 79 |
_LSM303_Init: CODE, 1821 0 104 |
_I2C_Configure_Master: CODE, 3273 0 34 |
_I2C_Master_Send: CODE, 145 0 83 |
_UART_Init: CODE, 3407 0 52 |
_main: CODE, 1611 0 205 |
_Error: CODE, 3459 0 57 |
_TIMER_1_Init: CODE, 3224 0 23 |
_Timer_2_Callback: CODE, 3640 0 66 |
_I2C_Process_Send: CODE, 3516 0 62 |
_I2C_Interrupt_Handler: CODE, 3247 0 26 |
_UART_TX_Interrupt_Handler: CODE, 3356 0 51 |
__initialization: CODE, 2012 0 31 |
_TIMER_2_Interrupt_Handler: CODE, 3174 0 5 |
_I2C_Master_Restart: CODE, 3778 0 79 |
_LSM303_Init: CODE, 1816 0 101 |
_LSM303_Read_Accl: CODE, 52 0 93 |
_I2C_Init: CODE, 1925 0 95 |
_RN42_Send_CMD: CODE, 2829 0 47 |
_LSM303_Read_Magn: CODE, 3851 0 79 |
_Timer_1_Callback: CODE, 3 0 1 |
_MAX17040_Read_Batt: CODE, 3279 0 64 |
_strncmp: CODE, 3409 0 67 |
_UART_RX_Interrupt_Handler: CODE, 145 0 90 |
_I2C_Init: CODE, 1917 0 95 |
_LSM303_Read_Magn: CODE, 3936 0 79 |
_Timer_1_Callback: CODE, 254 0 1 |
_UART_RX_Interrupt_Handler: CODE, 4015 0 81 |
_Startup_Check: CODE, 1394 0 217 |
_L3G_Init: CODE, 2020 0 26 |
_UART_Write: CODE, 2876 0 52 |
_TIMER_1_Interrupt_Handler: CODE, 2651 0 10 |
_L3G_Read_Gyro: CODE, 3772 0 79 |
_L3G_Init: CODE, 228 0 26 |
_UART_Write: CODE, 3307 0 49 |
_TIMER_1_Interrupt_Handler: CODE, 3191 0 9 |
_L3G_Read_Gyro: CODE, 3857 0 79 |
_INTERRUPT_Enable: CODE, 2046 0 2 |
Total: 3459 |
Total: 2943 |
/PIC Stuff/PICX_16F1829_BLE_IMU/main.c |
---|
7,8 → 7,6 |
#include "I2C.h" |
#include "L3G.h" |
#include "LSM303.h" |
#include "RN-42.h" |
#include "MAX17040.h" |
// <editor-fold defaultstate="collapsed" desc="Configuration Bits"> |
// CONFIG1 |
38,7 → 36,6 |
char LED_G_ON = 0; |
char LED_B_ON = 0; |
char timer_2_pwm = 0; |
char connected = 0; |
void Error(char ID) { |
while(1) { |
193,7 → 190,7 |
TIMER_2_Start(); |
// A small delay is needed for the sensors to start up |
__delay_ms(1000); |
__delay_ms(10); |
// Run a check to ensure that all sensors are properly connected |
Startup_Check(); |
201,40 → 198,23 |
// Initialze the sensors |
L3G_Init(); |
LSM303_Init(); |
RN42_Init(); |
MAX17040_Init(); |
char output[21] = {0}; |
output[20] = '\n'; |
char output[19] = {0}; |
output[18] = '\n'; |
// char len, buffer[30]; |
LED_B_ON = 1; |
LED_B_ON = 1; |
__delay_ms(3000); |
while(1) { |
__delay_ms(10); |
LSM303_Read_Accl(&output[0], &output[1], &output[2], &output[3], &output[4], &output[5]); |
L3G_Read_Gyro(&output[6], &output[7], &output[8], &output[9], &output[10], &output[11]); |
LSM303_Read_Magn(&output[12], &output[13], &output[14], &output[15], &output[16], &output[17]); |
// len = UART_Read(buffer); |
// if (len != 0) { |
// if (!strncmp(buffer, "!CONNECT", 8)) { |
// connected = 1; |
// LED_G_ON = 1; |
// } |
// if (!strncmp(buffer, "!DISCONNECT", 11)) { |
// connected = 0; |
// LED_G_ON = 0; |
// } |
// } |
UART_Write((char *)&output[0], 19); |
// if (connected) { |
LSM303_Read_Accl(&output[0], &output[1], &output[2], &output[3], &output[4], &output[5]); |
L3G_Read_Gyro(&output[6], &output[7], &output[8], &output[9], &output[10], &output[11]); |
LSM303_Read_Magn(&output[12], &output[13], &output[14], &output[15], &output[16], &output[17]); |
MAX17040_Read_Batt(&output[18], &output[19]); |
__delay_ms(10); |
UART_Write((char *)&output[0], 21); |
// } |
// LED_B_ON = 0; |
// LED_R_ON = 1; |
// __delay_ms(250); |
/PIC Stuff/PICX_16F1829_BLE_IMU/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 TIMER.c INTERRUPT.c UART.c I2C.c L3G.c LSM303.c RN-42.c MAX17040.c |
SOURCEFILES_QUOTED_IF_SPACED=main.c TIMER.c INTERRUPT.c UART.c I2C.c L3G.c LSM303.c |
# Object Files Quoted if spaced |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/TIMER.p1 ${OBJECTDIR}/INTERRUPT.p1 ${OBJECTDIR}/UART.p1 ${OBJECTDIR}/I2C.p1 ${OBJECTDIR}/L3G.p1 ${OBJECTDIR}/LSM303.p1 ${OBJECTDIR}/RN-42.p1 ${OBJECTDIR}/MAX17040.p1 |
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/TIMER.p1.d ${OBJECTDIR}/INTERRUPT.p1.d ${OBJECTDIR}/UART.p1.d ${OBJECTDIR}/I2C.p1.d ${OBJECTDIR}/L3G.p1.d ${OBJECTDIR}/LSM303.p1.d ${OBJECTDIR}/RN-42.p1.d ${OBJECTDIR}/MAX17040.p1.d |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.p1 ${OBJECTDIR}/TIMER.p1 ${OBJECTDIR}/INTERRUPT.p1 ${OBJECTDIR}/UART.p1 ${OBJECTDIR}/I2C.p1 ${OBJECTDIR}/L3G.p1 ${OBJECTDIR}/LSM303.p1 |
POSSIBLE_DEPFILES=${OBJECTDIR}/main.p1.d ${OBJECTDIR}/TIMER.p1.d ${OBJECTDIR}/INTERRUPT.p1.d ${OBJECTDIR}/UART.p1.d ${OBJECTDIR}/I2C.p1.d ${OBJECTDIR}/L3G.p1.d ${OBJECTDIR}/LSM303.p1.d |
# Object Files |
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/TIMER.p1 ${OBJECTDIR}/INTERRUPT.p1 ${OBJECTDIR}/UART.p1 ${OBJECTDIR}/I2C.p1 ${OBJECTDIR}/L3G.p1 ${OBJECTDIR}/LSM303.p1 ${OBJECTDIR}/RN-42.p1 ${OBJECTDIR}/MAX17040.p1 |
OBJECTFILES=${OBJECTDIR}/main.p1 ${OBJECTDIR}/TIMER.p1 ${OBJECTDIR}/INTERRUPT.p1 ${OBJECTDIR}/UART.p1 ${OBJECTDIR}/I2C.p1 ${OBJECTDIR}/L3G.p1 ${OBJECTDIR}/LSM303.p1 |
# Source Files |
SOURCEFILES=main.c TIMER.c INTERRUPT.c UART.c I2C.c L3G.c LSM303.c RN-42.c MAX17040.c |
SOURCEFILES=main.c TIMER.c INTERRUPT.c UART.c I2C.c L3G.c LSM303.c |
CFLAGS= |
134,22 → 134,6 |
@-${MV} ${OBJECTDIR}/LSM303.d ${OBJECTDIR}/LSM303.p1.d |
@${FIXDEPS} ${OBJECTDIR}/LSM303.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/RN-42.p1: RN-42.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/RN-42.p1.d |
@${RM} ${OBJECTDIR}/RN-42.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: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s" -o${OBJECTDIR}/RN-42.p1 RN-42.c |
@-${MV} ${OBJECTDIR}/RN-42.d ${OBJECTDIR}/RN-42.p1.d |
@${FIXDEPS} ${OBJECTDIR}/RN-42.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/MAX17040.p1: MAX17040.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/MAX17040.p1.d |
@${RM} ${OBJECTDIR}/MAX17040.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: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s" -o${OBJECTDIR}/MAX17040.p1 MAX17040.c |
@-${MV} ${OBJECTDIR}/MAX17040.d ${OBJECTDIR}/MAX17040.p1.d |
@${FIXDEPS} ${OBJECTDIR}/MAX17040.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
else |
${OBJECTDIR}/main.p1: main.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
207,22 → 191,6 |
@-${MV} ${OBJECTDIR}/LSM303.d ${OBJECTDIR}/LSM303.p1.d |
@${FIXDEPS} ${OBJECTDIR}/LSM303.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/RN-42.p1: RN-42.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/RN-42.p1.d |
@${RM} ${OBJECTDIR}/RN-42.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: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s" -o${OBJECTDIR}/RN-42.p1 RN-42.c |
@-${MV} ${OBJECTDIR}/RN-42.d ${OBJECTDIR}/RN-42.p1.d |
@${FIXDEPS} ${OBJECTDIR}/RN-42.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
${OBJECTDIR}/MAX17040.p1: MAX17040.c nbproject/Makefile-${CND_CONF}.mk |
@${MKDIR} ${OBJECTDIR} |
@${RM} ${OBJECTDIR}/MAX17040.p1.d |
@${RM} ${OBJECTDIR}/MAX17040.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: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s" -o${OBJECTDIR}/MAX17040.p1 MAX17040.c |
@-${MV} ${OBJECTDIR}/MAX17040.d ${OBJECTDIR}/MAX17040.p1.d |
@${FIXDEPS} ${OBJECTDIR}/MAX17040.p1.d $(SILENT) -rsi ${MP_CC_DIR}../ |
endif |
# ------------------------------------------------------------------------------------ |
/PIC Stuff/PICX_16F1829_BLE_IMU/nbproject/Makefile-genesis.properties |
---|
1,5 → 1,5 |
# |
#Sat Sep 28 16:30:53 EDT 2013 |
#Sat Sep 28 01:14:49 EDT 2013 |
default.languagetoolchain.dir=C\:\\Program Files (x86)\\Microchip\\xc8\\v1.20\\bin |
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=0d2b1469ad71adb787c711a416386331 |
default.languagetoolchain.version=1.20 |
/PIC Stuff/PICX_16F1829_BLE_IMU/nbproject/configurations.xml |
---|
11,8 → 11,6 |
<itemPath>I2C.h</itemPath> |
<itemPath>L3G.h</itemPath> |
<itemPath>LSM303.h</itemPath> |
<itemPath>RN-42.h</itemPath> |
<itemPath>MAX17040.h</itemPath> |
</logicalFolder> |
<logicalFolder name="LinkerScript" |
displayName="Linker Files" |
28,8 → 26,6 |
<itemPath>I2C.c</itemPath> |
<itemPath>L3G.c</itemPath> |
<itemPath>LSM303.c</itemPath> |
<itemPath>RN-42.c</itemPath> |
<itemPath>MAX17040.c</itemPath> |
</logicalFolder> |
<logicalFolder name="ExternalFiles" |
displayName="Important Files" |
/PIC Stuff/PICX_16F1829_BLE_IMU/UART.h |
---|
1,7 → 1,7 |
#ifndef UART_H |
#define UART_H |
#define UART_BUFFER_SIZE 30 |
#define UART_BUFFER_SIZE 20 |
typedef struct { |
char buffer_in[UART_BUFFER_SIZE]; |