The official mbed C/C SDK provides the software platform and libraries to build your applications.
Fork of mbed by
Revision 14:20a79241b4a0, committed 2009-10-28
- Comitter:
- rolf.meyer@arm.com
- Date:
- Wed Oct 28 17:43:46 2009 +0000
- Parent:
- 13:a0336ede94ce
- Child:
- 15:d1a9de3f4fe0
- Commit message:
- mbed integrates the rtc
Changed in this revision
--- a/LPC1768/LPC17xx.h Wed Sep 23 12:55:43 2009 +0000
+++ b/LPC1768/LPC17xx.h Wed Oct 28 17:43:46 2009 +0000
@@ -138,7 +138,7 @@
__IO uint32_t PCLKSEL1;
uint32_t RESERVED8[4];
__IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */
- uint32_t RESERVED9;
+ uint32_t DMAREQSEL;
__IO uint32_t CLKOUTCFG; /* Clock Output Configuration */
} LPC_SC_TypeDef;
Binary file LPC1768/capi.ar has changed
Binary file LPC1768/core_cm3.o has changed
Binary file LPC1768/mbed.ar has changed
Binary file LPC1768/mbed_capi.ar has changed
--- a/LPC2368/LPC23xx.h Wed Sep 23 12:55:43 2009 +0000
+++ b/LPC2368/LPC23xx.h Wed Oct 28 17:43:46 2009 +0000
@@ -390,31 +390,33 @@
{
__IO uint8_t ILR;
uint8_t RESERVED0[3];
+ __IO uint8_t CTC;
+ uint8_t RESERVED1[3];
__IO uint8_t CCR;
- uint8_t RESERVED1[3];
+ uint8_t RESERVED2[3];
__IO uint8_t CIIR;
- uint8_t RESERVED2[3];
+ uint8_t RESERVED3[3];
__IO uint8_t AMR;
- uint8_t RESERVED3[3];
+ uint8_t RESERVED4[3];
__I uint32_t CTIME0;
__I uint32_t CTIME1;
__I uint32_t CTIME2;
__IO uint8_t SEC;
- uint8_t RESERVED4[3];
+ uint8_t RESERVED5[3];
__IO uint8_t MIN;
- uint8_t RESERVED5[3];
+ uint8_t RESERVED6[3];
__IO uint8_t HOUR;
- uint8_t RESERVED6[3];
+ uint8_t RESERVED7[3];
__IO uint8_t DOM;
- uint8_t RESERVED7[3];
+ uint8_t RESERVED8[3];
__IO uint8_t DOW;
- uint8_t RESERVED8[3];
+ uint8_t RESERVED9[3];
__IO uint16_t DOY;
- uint16_t RESERVED9;
+ uint16_t RESERVED10;
__IO uint8_t MONTH;
- uint8_t RESERVED10[3];
+ uint8_t RESERVED11[3];
__IO uint16_t YEAR;
- uint16_t RESERVED11;
+ uint16_t RESERVED12;
__IO uint32_t CALIBRATION;
__IO uint32_t GPREG0;
__IO uint32_t GPREG1;
@@ -422,25 +424,25 @@
__IO uint32_t GPREG3;
__IO uint32_t GPREG4;
__IO uint8_t WAKEUPDIS;
- uint8_t RESERVED12[3];
+ uint8_t RESERVED13[3];
__IO uint8_t PWRCTRL;
- uint8_t RESERVED13[3];
- __IO uint8_t ALSEC;
uint8_t RESERVED14[3];
- __IO uint8_t ALMIN;
+ __IO uint8_t ALSEC;
uint8_t RESERVED15[3];
+ __IO uint8_t ALMIN;
+ uint8_t RESERVED16[3];
__IO uint8_t ALHOUR;
- uint8_t RESERVED16[3];
+ uint8_t RESERVED17[3];
__IO uint8_t ALDOM;
- uint8_t RESERVED17[3];
+ uint8_t RESERVED18[3];
__IO uint8_t ALDOW;
- uint8_t RESERVED18[3];
+ uint8_t RESERVED19[3];
__IO uint16_t ALDOY;
- uint16_t RESERVED19;
+ uint16_t RESERVED20;
__IO uint8_t ALMON;
- uint8_t RESERVED20[3];
+ uint8_t RESERVED21[3];
__IO uint16_t ALYEAR;
- uint16_t RESERVED21;
+ uint16_t RESERVED22;
} LPC_RTC_TypeDef;
/*------------- Watchdog Timer (WDT) -----------------------------------------*/
Binary file LPC2368/capi.ar has changed
Binary file LPC2368/core_arm7.o has changed
Binary file LPC2368/mbed.ar has changed
Binary file LPC2368/mbed_capi.ar has changed
Binary file LPC2368/stackheap.o has changed
Binary file LPC2368/system_LPC23xx.o has changed
Binary file LPC2368/vector_functions.o has changed
Binary file LPC2368/vector_realmonitor.o has changed
Binary file LPC2368/vector_table.o has changed
--- a/mbed.h Wed Sep 23 12:55:43 2009 +0000 +++ b/mbed.h Wed Oct 28 17:43:46 2009 +0000 @@ -13,12 +13,9 @@ #include <stdlib.h> #include <string.h> #include <math.h> - -//#include "helper.h" +#include <time.h> // mbed Debug libraries -//#include "Debug.h" -//#include "stackheap.h" #include "error.h" // mbed Peripheral components @@ -33,9 +30,10 @@ #include "PwmOut.h" #include "Serial.h" #include "SPI.h" -//#include "SPI3.h" #include "I2C.h" #include "Ethernet.h" +#include "CAN.h" +//#include "SPI3.h" // mbed Internal components #include "Timer.h" @@ -46,6 +44,7 @@ //#include "rpc.h" //#include "rtc.h" #include "wait_api.h" +#include "rtc_time.h" using namespace mbed; using namespace std;
--- a/nvic_api.h Wed Sep 23 12:55:43 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/* mbed Microcontroller Library - nvic_api
- * Copyright (c) 2006-2009 ARM Limited. All rights reserved.
- * sford
- */
-
-// GENERIC (M3 only? maybe also ARM7 abstraction)
-
-#ifndef MBED_NVIC_API_H
-#define MBED_NVIC_API_H
-
-#include "PinNames.h"
-#include "PeripheralNames.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum IRQn IRQn;
-
-void nvic_init();
-uint32_t nvic_read(IRQn irq);
-void NVIC_Vector(IRQn irq, uint32_t vector);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rtc_time.h Wed Oct 28 17:43:46 2009 +0000
@@ -0,0 +1,207 @@
+/* Title: time
+ * Implementation of the C time.h functions
+ *
+ * Provides mechanisms to set and read the current time, based
+ * on the microcontroller Real-Time Clock (RTC), plus some
+ * standard C manipulation and formating functions.
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37
+ * >
+ * > while(1) {
+ * > time_t seconds = time(NULL);
+ * >
+ * > printf("Time as seconds since January 1, 1970 = %d\n", seconds);
+ * >
+ * > printf("Time as a basic string = %s", ctime(&seconds));
+ * >
+ * > char buffer[32];
+ * > strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
+ * > printf("Time as a custom formatted string = %s", buffer);
+ * >
+ * > wait(1);
+ * > }
+ * > }
+ */
+
+/* mbed Microcontroller Library - rtc_time
+ * Copyright (c) 2009 ARM Limited. All rights reserved.
+ * sford
+ */
+
+#include <time.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if 0 // for documentation only
+/* Function: time
+ * Get the current time
+ *
+ * Returns the current timestamp as the number of seconds since January 1, 1970
+ * (the UNIX timestamp). The value is based on the current value of the
+ * microcontroller Real-Time Clock (RTC), which can be set using <set_time>.
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > time_t seconds = time(NULL);
+ * > printf("It is %d seconds since January 1, 1970\n", seconds);
+ * > }
+ *
+ * Variables:
+ * t - Pointer to a time_t to be set, or NULL if not used
+ * returns - Number of seconds since January 1, 1970 (the UNIX timestamp)
+ */
+time_t time(time_t *t);
+#endif
+
+/* Function: set_time
+ * Set the current time
+ *
+ * Initialises and sets the time of the microcontroller Real-Time Clock (RTC)
+ * to the time represented by the number of seconds since January 1, 1970
+ * (the UNIX timestamp).
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37
+ * > }
+ *
+ * Variables:
+ * t - Number of seconds since January 1, 1970 (the UNIX timestamp)
+ */
+void set_time(time_t t);
+
+#if 0 // for documentation only
+/* Function: mktime
+ * Converts a tm structure in to a timestamp
+ *
+ * Converts the tm structure in to a timestamp in seconds since January 1, 1970
+ * (the UNIX timestamp). The values of tm_wday and tm_yday of the tm structure
+ * are also updated to their appropriate values.
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > // setup time structure for Wed, 28 Oct 2009 11:35:37
+ * > struct tm t;
+ * > t.tm_sec = 37; // 0-59
+ * > t.tm_min = 35; // 0-59
+ * > t.tm_hour = 11; // 0-23
+ * > t.tm_mday = 28; // 1-31
+ * > t.tm_mon = 9; // 0-11
+ * > t.tm_year = 109; // year since 1900
+ * >
+ * > // convert to timestamp and display (1256729737)
+ * > time_t seconds = mktime(&t);
+ * > printf("Time as seconds since January 1, 1970 = %d\n", seconds);
+ * > }
+ *
+ * Variables:
+ * t - The tm structure to convert
+ * returns - The converted timestamp
+ */
+time_t mktime(struct tm *t);
+#endif
+
+#if 0 // for documentation only
+/* Function: localtime
+ * Converts a timestamp in to a tm structure
+ *
+ * Converts the timestamp pointed to by t to a (statically allocated)
+ * tm structure.
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > time_t seconds = 1256729737;
+ * > struct tm *t = localtime(&seconds);
+ * > }
+ *
+ * Variables:
+ * t - Pointer to the timestamp
+ * returns - Pointer to the (statically allocated) tm structure
+ */
+struct tm *localtime(const time_t *t);
+#endif
+
+#if 0 // for documentation only
+/* Function: ctime
+ * Converts a timestamp to a human-readable string
+ *
+ * Converts a time_t timestamp in seconds since January 1, 1970 (the UNIX
+ * timestamp) to a human readable string format. The result is of the
+ * format: "Wed Oct 28 11:35:37 2009\n"
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > time_t seconds = time(NULL);
+ * > printf("Time as a string = %s", ctime(&seconds));
+ * > }
+ *
+ * Variables:
+ * t - The timestamp to convert
+ * returns - Pointer to a (statically allocated) string containing the
+ * human readable representation, including a '\n' character
+ */
+char *ctime(const time_t *t);
+#endif
+
+#if 0 // for documentation only
+/* Function: strftime
+ * Converts a tm structure to a custom format human-readable string
+ *
+ * Creates a formated string from a tm structure, based on a string format
+ * specifier provided.
+ *
+ * Format Specifiers:
+ * %S - Second (00-59)
+ * %M - Minute (00-59)
+ * %H - Hour (00-23)
+ * %d - Day (01-31)
+ * %m - Month (01-12)
+ * %Y/%y - Year (2009/09)
+ *
+ * %A/%a - Weekday Name (Monday/Mon)
+ * %B/%b - Month Name (January/Jan)
+ * %I - 12 Hour Format (01-12)
+ * %p - "AM" or "PM"
+ * %X - Time (14:55:02)
+ * %x - Date (08/23/01)
+ *
+ * Example:
+ * > #include "mbed.h"
+ * >
+ * > int main() {
+ * > time_t seconds = time(NULL);
+ * >
+ * > char buffer[32];
+ * > strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
+ * > printf("Time as a formatted string = %s", buffer);
+ * > }
+ *
+ * Variables:
+ * buffer - String buffer to store the result
+ * max - Maximum number of characters to store in the buffer
+ * format - Format specifier string
+ * t - Pointer to the tm structure to convert
+ * returns - Number of characters copied
+ */
+size_t strftime(char *buffer, size_t max, const char *format, const struct tm *t);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
