The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Files at this revision

API Documentation at this revision

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

LPC1768/LPC17xx.h Show annotated file Show diff for this revision Revisions of this file
LPC1768/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/core_cm3.o Show annotated file Show diff for this revision Revisions of this file
LPC1768/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/mbed_capi.ar Show diff for this revision Revisions of this file
LPC2368/LPC23xx.h Show annotated file Show diff for this revision Revisions of this file
LPC2368/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC2368/core_arm7.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC2368/mbed_capi.ar Show diff for this revision Revisions of this file
LPC2368/stackheap.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/system_LPC23xx.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/vector_functions.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/vector_realmonitor.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/vector_table.o Show annotated file Show diff for this revision Revisions of this file
mbed.h Show annotated file Show diff for this revision Revisions of this file
nvic_api.h Show diff for this revision Revisions of this file
rtc_time.h Show annotated file Show diff for this revision Revisions of this file
--- 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