Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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