X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/65a8d68c5708c8bc87628d9a25cf0a9d951379ea..40e1caa2da06d6d4699d5dc3dafb3d34b81f23f7:/Projects/TempDataLogger/TempDataLogger.c?ds=inline diff --git a/Projects/TempDataLogger/TempDataLogger.c b/Projects/TempDataLogger/TempDataLogger.c index 7590aeea3..eb1a2fc2d 100644 --- a/Projects/TempDataLogger/TempDataLogger.c +++ b/Projects/TempDataLogger/TempDataLogger.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2013. + Copyright (C) Dean Camera, 2015. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2015 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -44,7 +44,7 @@ USB_ClassInfo_MS_Device_t Disk_MS_Interface = { .Config = { - .InterfaceNumber = 0, + .InterfaceNumber = INTERFACE_ID_MassStorage, .DataINEndpoint = { .Address = MASS_STORAGE_IN_EPADDR, @@ -72,7 +72,7 @@ USB_ClassInfo_HID_Device_t Generic_HID_Interface = { .Config = { - .InterfaceNumber = 1, + .InterfaceNumber = INTERFACE_ID_HID, .ReportINEndpoint = { .Address = GENERIC_IN_EPADDR, @@ -103,7 +103,8 @@ static FIL TempLogFile; /** ISR to handle the 500ms ticks for sampling and data logging */ ISR(TIMER1_COMPA_vect, ISR_BLOCK) { - uint8_t LEDMask = LEDs_GetLEDs(); + /* Signal a 500ms tick has elapsed to the RTC */ + RTC_Tick500ms(); /* Check to see if the logging interval has expired */ if (++CurrentLoggingTicks < LoggingInterval500MS_SRAM) @@ -112,13 +113,14 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) /* Reset log tick counter to prepare for next logging interval */ CurrentLoggingTicks = 0; + uint8_t LEDMask = LEDs_GetLEDs(); LEDs_SetAllLEDs(LEDMASK_USB_BUSY); /* Only log when not connected to a USB host */ if (USB_DeviceState == DEVICE_STATE_Unattached) { TimeDate_t CurrentTimeDate; - DS1307_GetTimeDate(&CurrentTimeDate); + RTC_GetTimeDate(&CurrentTimeDate); char LineBuffer[100]; uint16_t BytesWritten; @@ -170,7 +172,7 @@ void OpenLogFile(void) /* Get the current date for the filename as "DDMMYY.csv" */ TimeDate_t CurrentTimeDate; - DS1307_GetTimeDate(&CurrentTimeDate); + RTC_GetTimeDate(&CurrentTimeDate); sprintf(LogFileName, "%02d%02d%02d.csv", CurrentTimeDate.Day, CurrentTimeDate.Month, CurrentTimeDate.Year); /* Mount the storage device, open the file */ @@ -201,16 +203,16 @@ void SetupHardware(void) /* Hardware Initialization */ LEDs_Init(); - SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER); ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128); Temperature_Init(); Dataflash_Init(); USB_Init(); TWI_Init(TWI_BIT_PRESCALE_4, TWI_BITLENGTH_FROM_FREQ(4, 50000)); + RTC_Init(); /* 500ms logging interval timer configuration */ - OCR1A = (((F_CPU / 1024) / 2) - 1); - TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); + OCR1A = (((F_CPU / 256) / 2) - 1); + TCCR1B = (1 << WGM12) | (1 << CS12); TIMSK1 = (1 << OCIE1A); /* Check if the Dataflash is working, abort if not */ @@ -293,7 +295,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn { Device_Report_t* ReportParams = (Device_Report_t*)ReportData; - DS1307_GetTimeDate(&ReportParams->TimeDate); + RTC_GetTimeDate(&ReportParams->TimeDate); ReportParams->LogInterval500MS = LoggingInterval500MS_SRAM; @@ -317,7 +319,7 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI { Device_Report_t* ReportParams = (Device_Report_t*)ReportData; - DS1307_SetTimeDate(&ReportParams->TimeDate); + RTC_SetTimeDate(&ReportParams->TimeDate); /* If the logging interval has changed from its current value, write it to EEPROM */ if (LoggingInterval500MS_SRAM != ReportParams->LogInterval500MS)