X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/5a4def747897c1c6ffbe465506d846c7c686d3e9..279e1b6ece7fbc90db6cb642f1c289b45648cf9c:/Projects/TempDataLogger/TempDataLogger.c diff --git a/Projects/TempDataLogger/TempDataLogger.c b/Projects/TempDataLogger/TempDataLogger.c index 3d6a9e933..ec3902908 100644 --- a/Projects/TempDataLogger/TempDataLogger.c +++ b/Projects/TempDataLogger/TempDataLogger.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. + Copyright (C) Dean Camera, 2011. dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2011 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 @@ -113,17 +113,16 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) /* Only log when not connected to a USB host */ if (USB_DeviceState == DEVICE_STATE_Unattached) { - uint8_t Day, Month, Year; - uint8_t Hour, Minute, Second; - - DS1307_GetDate(&Day, &Month, &Year); - DS1307_GetTime(&Hour, &Minute, &Second); + TimeDate_t CurrentTimeDate; + DS1307_GetTimeDate(&CurrentTimeDate); char LineBuffer[100]; uint16_t BytesWritten; - BytesWritten = sprintf(LineBuffer, "%02d/%02d/20%04d, %02d:%02d:%02d, %d Degrees\r\n", - Day, Month, Year, Hour, Minute, Second, Temperature_GetTemperature()); + BytesWritten = sprintf(LineBuffer, "%02d/%02d/20%02d, %02d:%02d:%02d, %d Degrees\r\n", + CurrentTimeDate.Day, CurrentTimeDate.Month, CurrentTimeDate.Year, + CurrentTimeDate.Hour, CurrentTimeDate.Minute, CurrentTimeDate.Second, + Temperature_GetTemperature()); f_write(&TempLogFile, LineBuffer, BytesWritten, &BytesWritten); f_sync(&TempLogFile); @@ -170,9 +169,9 @@ void OpenLogFile(void) char LogFileName[12]; /* Get the current date for the filename as "DDMMYY.csv" */ - uint8_t Day, Month, Year; - DS1307_GetDate(&Day, &Month, &Year); - sprintf(LogFileName, "%02d%02d%02d.csv", Day, Month, Year); + TimeDate_t CurrentTimeDate; + DS1307_GetTimeDate(&CurrentTimeDate); + sprintf(LogFileName, "%02d%02d%02d.csv", CurrentTimeDate.Day, CurrentTimeDate.Month, CurrentTimeDate.Year); /* Mount the storage device, open the file */ f_mount(0, &DiskFATState); @@ -208,7 +207,7 @@ void SetupHardware(void) TWI_Init(); /* 500ms logging interval timer configuration */ - OCR1A = ((F_CPU / 1024) / 2); + OCR1A = (((F_CPU / 1024) / 2) - 1); TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); TIMSK1 = (1 << OCIE1A); @@ -239,14 +238,14 @@ void EVENT_USB_Device_ConfigurationChanged(void) { bool ConfigSuccess = true; - ConfigSuccess &= MS_Device_ConfigureEndpoints(&Disk_MS_Interface); ConfigSuccess &= HID_Device_ConfigureEndpoints(&Generic_HID_Interface); + ConfigSuccess &= MS_Device_ConfigureEndpoints(&Disk_MS_Interface); LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR); } -/** Event handler for the library USB Unhandled Control Request event. */ -void EVENT_USB_Device_UnhandledControlRequest(void) +/** Event handler for the library USB Control Request reception event. */ +void EVENT_USB_Device_ControlRequest(void) { MS_Device_ProcessControlRequest(&Disk_MS_Interface); HID_Device_ProcessControlRequest(&Generic_HID_Interface); @@ -286,8 +285,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn { Device_Report_t* ReportParams = (Device_Report_t*)ReportData; - DS1307_GetDate(&ReportParams->Day, &ReportParams->Month, &ReportParams->Year); - DS1307_GetTime(&ReportParams->Hour, &ReportParams->Minute, &ReportParams->Second); + DS1307_GetTimeDate(&ReportParams->TimeDate); ReportParams->LogInterval500MS = LoggingInterval500MS_SRAM; @@ -310,9 +308,8 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI const uint16_t ReportSize) { Device_Report_t* ReportParams = (Device_Report_t*)ReportData; - - DS1307_SetDate(ReportParams->Day, ReportParams->Month, ReportParams->Year); - DS1307_SetTime(ReportParams->Hour, ReportParams->Minute, ReportParams->Second); + + DS1307_SetTimeDate(&ReportParams->TimeDate); /* If the logging interval has changed from its current value, write it to EEPROM */ if (LoggingInterval500MS_SRAM != ReportParams->LogInterval500MS)