Subversion Repositories Code-Repo

Rev

Rev 223 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 223 Rev 224
Line 5... Line 5...
5
#include "INTERRUPT.h"
5
#include "INTERRUPT.h"
6
#include "UART.h"
6
#include "UART.h"
7
#include "I2C.h"
7
#include "I2C.h"
8
#include "L3G.h"
8
#include "L3G.h"
9
#include "LSM303.h"
9
#include "LSM303.h"
-
 
10
#include "RN-42.h"
-
 
11
#include "MAX17040.h"
10
 
12
 
11
// <editor-fold defaultstate="collapsed" desc="Configuration Bits">
13
// <editor-fold defaultstate="collapsed" desc="Configuration Bits">
12
// CONFIG1
14
// CONFIG1
13
#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
15
#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
14
#pragma config WDTE = OFF       // Watchdog Timer Enable (WDT disabled)
16
#pragma config WDTE = OFF       // Watchdog Timer Enable (WDT disabled)
Line 34... Line 36...
34
 
36
 
35
char LED_R_ON = 0;
37
char LED_R_ON = 0;
36
char LED_G_ON = 0;
38
char LED_G_ON = 0;
37
char LED_B_ON = 0;
39
char LED_B_ON = 0;
38
char timer_2_pwm = 0;
40
char timer_2_pwm = 0;
-
 
41
char connected = 0;
39
 
42
 
40
void Error(char ID) {
43
void Error(char ID) {
41
    while(1) {
44
    while(1) {
42
        for (char i = 0; i < ID; i++) {
45
        for (char i = 0; i < ID; i++) {
43
            LED_R_ON = 1;
46
            LED_R_ON = 1;
Line 188... Line 191...
188
    INTERRUPT_Enable();
191
    INTERRUPT_Enable();
189
//    TIMER_1_Start();
192
//    TIMER_1_Start();
190
    TIMER_2_Start();
193
    TIMER_2_Start();
191
 
194
 
192
    // A small delay is needed for the sensors to start up
195
    // A small delay is needed for the sensors to start up
193
    __delay_ms(10);
196
    __delay_ms(1000);
194
 
197
 
195
    // Run a check to ensure that all sensors are properly connected
198
    // Run a check to ensure that all sensors are properly connected
196
    Startup_Check();
199
    Startup_Check();
197
 
200
 
198
    // Initialze the sensors
201
    // Initialze the sensors
199
    L3G_Init();
202
    L3G_Init();
200
    LSM303_Init();
203
    LSM303_Init();
-
 
204
    RN42_Init();
-
 
205
    MAX17040_Init();
201
 
206
 
202
    char output[19] = {0};
207
    char output[21] = {0};
203
    output[18] = '\n';
208
    output[20] = '\n';
204
    
209
    
205
    LED_B_ON = 1;
-
 
206
 
-
 
207
    __delay_ms(3000);
210
//    char len, buffer[30];
208
 
211
 
-
 
212
    LED_B_ON = 1;
-
 
213
    
209
    while(1) {
214
    while(1) {
210
        LSM303_Read_Accl(&output[0], &output[1], &output[2], &output[3], &output[4], &output[5]);
-
 
211
        L3G_Read_Gyro(&output[6], &output[7], &output[8], &output[9], &output[10], &output[11]);
215
        __delay_ms(10);
212
        LSM303_Read_Magn(&output[12], &output[13], &output[14], &output[15], &output[16], &output[17]);
-
 
213
 
216
 
-
 
217
//        len = UART_Read(buffer);
-
 
218
//        if (len != 0) {
-
 
219
//            if (!strncmp(buffer, "!CONNECT", 8)) {
-
 
220
//                connected = 1;
-
 
221
//                LED_G_ON = 1;
-
 
222
//            }
-
 
223
//            if (!strncmp(buffer, "!DISCONNECT", 11)) {
-
 
224
//                connected = 0;
-
 
225
//                LED_G_ON = 0;
-
 
226
//            }
-
 
227
//        }
-
 
228
 
-
 
229
//        if (connected) {
-
 
230
            LSM303_Read_Accl(&output[0], &output[1], &output[2], &output[3], &output[4], &output[5]);
-
 
231
            L3G_Read_Gyro(&output[6], &output[7], &output[8], &output[9], &output[10], &output[11]);
-
 
232
            LSM303_Read_Magn(&output[12], &output[13], &output[14], &output[15], &output[16], &output[17]);
214
        UART_Write((char *)&output[0], 19);
233
            MAX17040_Read_Batt(&output[18], &output[19]);
215
 
234
 
216
        __delay_ms(10);
235
            UART_Write((char *)&output[0], 21);
-
 
236
//        }
217
 
237
 
218
//        LED_B_ON = 0;
238
//        LED_B_ON = 0;
219
//        LED_R_ON = 1;
239
//        LED_R_ON = 1;
220
//        __delay_ms(250);
240
//        __delay_ms(250);
221
//        LED_R_ON = 0;
241
//        LED_R_ON = 0;