12,13 → 12,14 |
#include "sensor_nfc_PN532.h" |
#include "sensor_lux_TSL2561.h" |
#include "sensor_temp_BMP085.h" |
#include "sensor_gyro_L3G.h" |
#include "sensor_accel_LSM303.h" |
#include "sensor_rtc_DS3231.h" |
#include "display_led_HT16K33.h" |
#include "display_oled_ssd1306.h" |
#include "display_oled_ssd1331.h" |
#include "display_oled_NHD-0216KZW-AB5.h" |
#include "comm_xbee.h" |
#include "sensor_gyro_L3G.h" |
#include "sensor_accel_LSM303.h" |
|
// <editor-fold defaultstate="collapsed" desc="Configuration Bits"> |
/* --------------------------- Configuration Bits --------------------------- */ |
677,6 → 678,47 |
} |
} |
// </editor-fold> |
#elif defined(_TEST_RTC) |
// <editor-fold defaultstate="collapsed" desc="_TEST_RTC"> |
void main(void) { |
char output[64]; |
|
// Set all ports as digial I/O except for AN0-AN2 (pins 2-4) |
ANCON0 = 0xF8; |
ANCON1 = 0x1F; |
|
UART_DATA uart_data; |
UART1_Init(&uart_data); |
I2C_DATA i2c_data; |
I2C_Init(&i2c_data); |
|
I2C_Configure_Master(I2C_100KHZ); |
|
Interrupt_Init(); // Initialize the interrupt priorities |
Interrupt_Enable(); // Enable high-priority interrupts and low-priority interrupts |
|
sprintf(output, "\r\nBegin Program\r\n"); |
DBG_PRINT_MAIN(output, strlen(output)); |
|
DS3231_Begin(); |
// Sec, Min, Hour, DOW, Day, Month, Year, Mil Time, AM/PM |
// DS3231_Set_Time(30, 44, 12, 5, 4, 1, 13, 0, 0); |
|
char sec, min, hour, day, date, month, year, h_mil, h_am_pm; |
while (1) { |
DS3231_Get_Time(&sec, &min, &hour, &day, &date, &month, &year, &h_mil, &h_am_pm); |
sprintf(output, "%02d:%02d:%02d %s %s - %d/%d/%d (%d)\r\n", hour, min, sec, (h_am_pm) ? "PM" : "AM", |
(h_mil) ? "24H" : "12H", month, date, year, day); |
DBG_PRINT_MAIN(output, strlen(output)); |
Delay10KTCYx(255); |
Delay10KTCYx(255); |
Delay10KTCYx(255); |
Delay10KTCYx(255); |
Delay10KTCYx(255); |
Delay10KTCYx(255); |
} |
} |
// </editor-fold> |
#elif defined(_TEST_LED_BACKPACK) |
// <editor-fold defaultstate="collapsed" desc="_TEST_LED_BACKPACK"> |
void main(void) { |
1161,6 → 1203,117 |
} |
} |
// </editor-fold> |
#elif defined(_TEST_RTC_TO_LED_BACKPACK_CHAR_OLED) |
// <editor-fold defaultstate="collapsed" desc="_TEST_RTC_TO_LED_BACKPACK_CHAR_OLED"> |
void main(void) { |
char output[64]; |
|
// Set all ports as digial I/O |
ANCON0 = 0xFF; |
ANCON1 = 0x1F; |
|
I2C_DATA i2c_data; |
I2C_Init(&i2c_data); |
LED_DATA led_data; |
LED_Init(&led_data); |
OLED_CHAR_DATA oled_data; |
NHD_Init(&oled_data); |
|
I2C_Configure_Master(I2C_400KHZ); |
|
Interrupt_Init(); // Initialize the interrupt priorities |
Interrupt_Enable(); // Enable high-priority interrupts and low-priority interrupts |
|
LED_Start(); |
LED_Draw_Colon(1); |
NHD_Begin(16, 2); |
DS3231_Begin(); |
|
char sec, min, hour, day, date, month, year, h_mil, h_am_pm; |
int time; |
while (1) { |
DS3231_Get_Time(&sec, &min, &hour, &day, &date, &month, &year, &h_mil, &h_am_pm); |
time = hour * 100 + min; |
LED_Write_Num(time); |
|
NHD_Set_Cursor(0, 0); |
sprintf(output, "%02d:%02d:%02d %s", hour, min, sec, h_am_pm ? "PM" : "AM"); |
NHD_Write_String(output, strlen(output)); |
|
NHD_Set_Cursor(12, 0); |
switch (day) { |
case 1: |
sprintf(output, "*MON"); |
break; |
case 2: |
sprintf(output, "*TUE"); |
break; |
case 3: |
sprintf(output, "*WED"); |
break; |
case 4: |
sprintf(output, "*THU"); |
break; |
case 5: |
sprintf(output, "*FRI"); |
break; |
case 6: |
sprintf(output, "*SAT"); |
break; |
case 7: |
sprintf(output, "*SUN"); |
break; |
} |
NHD_Write_String(output, strlen(output)); |
|
NHD_Set_Cursor(0, 1); |
switch (month) { |
case 1: |
sprintf(output, "January"); |
break; |
case 2: |
sprintf(output, "February"); |
break; |
case 3: |
sprintf(output, "March"); |
break; |
case 4: |
sprintf(output, "April"); |
break; |
case 5: |
sprintf(output, "May"); |
break; |
case 6: |
sprintf(output, "June"); |
break; |
case 7: |
sprintf(output, "July"); |
break; |
case 8: |
sprintf(output, "August"); |
break; |
case 9: |
sprintf(output, "September"); |
break; |
case 10: |
sprintf(output, "October"); |
break; |
case 11: |
sprintf(output, "November"); |
break; |
case 12: |
sprintf(output, "December"); |
break; |
} |
NHD_Write_String(output, strlen(output)); |
|
sprintf(output, " %d 20%d", date, year); |
NHD_Write_String(output, strlen(output)); |
|
Delay10KTCYx(100); |
} |
} |
// </editor-fold> |
#elif defined(_TEST_XBEE) |
// <editor-fold defaultstate="collapsed" desc="_TEST_XBEE"> |
void main(void) { |