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

Dependents:   SeeedTouchLCD

Fork of mbed by mbed official

(01.May.2014) started sales! http://www.switch-science.com/catalog/1717/

(13.March.2014) updated to 0.5.0

This is a pin conversion PCB from mbed 1768/11U24 to arduino UNO.

  • So if you have both mbed and arduino shields, I guess you would be happy with such a conversion board :)

Photos

  • Board photo vvv /media/uploads/k4zuki/mbedshield050.brd.png
  • Schematic photo vvv /media/uploads/k4zuki/mbedshield050.sch.png
  • Functionality photo vvv /media/uploads/k4zuki/mbedshieldfunc.jpg

Latest eagle files

PCB >> /media/uploads/k4zuki/mbedshield050.brd
SCH >> /media/uploads/k4zuki/mbedshield050.sch

BIG changes from previous version

  1. Ethernet RJ45 connector is removed.
    1. http://mbed.org/components/Seeed-Ethernet-Shield-V20/ is the biggest hint to use Ethernet!
  2. Most ALL of components can be bought at Akizuki http://akizukidenshi.com/
    1. But sorry, they do not send parts to abroad
  3. Pinout is changed!
arduino0.4.00.5.0
D4p12p21
D5p11p22
MOSI_nonep11
MISO_nonep12
SCK_nonep13

This design has bug(s)

  1. I2C functional pin differs between 1768 and 11U24.

Fixed bugs here

  1. MiniUSB cable cannot be connected on mbed if you solder high-height electrolytic capacitor on C3.
    1. http://akizukidenshi.com/catalog/g/gP-05002/ is the solution to make this 100% AKIZUKI parts!
  2. the 6-pin ISP port is not inprimented in version 0.4.0
    1. it will be fixed in later version 0.4.1/0.4.2/0.5.0 This has beenfixed

I am doing some porting to use existing arduino shields but it may faster if you do it by yourself...

you can use arduino PinName "A0-A5,D0-D13" plus backside SPI port for easier porting.

To do this you have to edit PinName enum in

  • "mbed/TARGET_LPC1768/PinNames.h" or
  • "mbed/TARGET_LPC11U24/PinNames.h" as per your target mbed.

here is the actual list: This list includes define switch to switch pin assignment

part_of_PinNames.h

        USBTX = P0_2,
        USBRX = P0_3,

//from here mbeDshield mod
        D0=p27,
        D1=p28,
        D2=p14,
        D3=p13,
#ifdef MBEDSHIELD_050
        MOSI_=p11,
        MISO_=p12,
        SCK_=p13,
        D4=p21,
        D5=p22,
#else
        D4=p12,
        D5=p11,
#endif
        D6=p23,
        D7=p24,
        D8=p25,
        D9=p26,
        D10=p8,
        D11=p5,
        D12=p6,
        D13=p7,
        A0=p15,
        A1=p16,
        A2=p17,
        A3=p18,
        A4=p19,
        A5=p20,
        SDA=p9,
        SCL=p10,
//mbeDshield mod ends here
        // Not connected
        NC = (int)0xFFFFFFFF
Committer:
emilmont
Date:
Mon Feb 18 11:12:58 2013 +0000
Revision:
59:0883845fe643
Parent:
55:d722ed6a4237
Child:
65:5798e58a58b1
Add pinmap NC terminators for LPC1768 CAN.
Update the license from MIT to Apache v2.
Make the semihost code target independent using opportune defines for the UID and MAC.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 44:24d45a770a51 1 /* mbed Microcontroller Library
emilmont 54:71b101360fb9 2 * Copyright (c) 2006-2013 ARM Limited
emilmont 44:24d45a770a51 3 *
emilmont 59:0883845fe643 4 * Licensed under the Apache License, Version 2.0 (the "License");
emilmont 59:0883845fe643 5 * you may not use this file except in compliance with the License.
emilmont 59:0883845fe643 6 * You may obtain a copy of the License at
emilmont 59:0883845fe643 7 *
emilmont 59:0883845fe643 8 * http://www.apache.org/licenses/LICENSE-2.0
emilmont 44:24d45a770a51 9 *
emilmont 59:0883845fe643 10 * Unless required by applicable law or agreed to in writing, software
emilmont 59:0883845fe643 11 * distributed under the License is distributed on an "AS IS" BASIS,
emilmont 59:0883845fe643 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
emilmont 59:0883845fe643 13 * See the License for the specific language governing permissions and
emilmont 59:0883845fe643 14 * limitations under the License.
emilmont 44:24d45a770a51 15 */
simon.ford@mbed.co.uk 8:00a04e5cd407 16 #ifndef MBED_DIRHANDLE_H
simon.ford@mbed.co.uk 8:00a04e5cd407 17 #define MBED_DIRHANDLE_H
simon.ford@mbed.co.uk 8:00a04e5cd407 18
emilmont 55:d722ed6a4237 19 #if defined(__ARMCC_VERSION) || defined(__ICCARM__)
emilmont 55:d722ed6a4237 20 # define NAME_MAX 255
simon.ford@mbed.co.uk 8:00a04e5cd407 21 typedef int mode_t;
emilmont 55:d722ed6a4237 22
simon.ford@mbed.co.uk 8:00a04e5cd407 23 #else
emilmont 55:d722ed6a4237 24 # include <sys/syslimits.h>
simon.ford@mbed.co.uk 8:00a04e5cd407 25 #endif
emilmont 55:d722ed6a4237 26
simon.ford@mbed.co.uk 8:00a04e5cd407 27 #include "FileHandle.h"
simon.ford@mbed.co.uk 8:00a04e5cd407 28
simon.ford@mbed.co.uk 8:00a04e5cd407 29 struct dirent {
simon.ford@mbed.co.uk 8:00a04e5cd407 30 char d_name[NAME_MAX+1];
simon.ford@mbed.co.uk 8:00a04e5cd407 31 };
simon.ford@mbed.co.uk 8:00a04e5cd407 32
simon.ford@mbed.co.uk 8:00a04e5cd407 33 namespace mbed {
simon.ford@mbed.co.uk 8:00a04e5cd407 34
emilmont 43:e2ed12d17f06 35 /** Represents a directory stream. Objects of this type are returned
simon.ford@mbed.co.uk 8:00a04e5cd407 36 * by a FileSystemLike's opendir method. Implementations must define
simon.ford@mbed.co.uk 8:00a04e5cd407 37 * at least closedir, readdir and rewinddir.
simon.ford@mbed.co.uk 8:00a04e5cd407 38 *
simon.ford@mbed.co.uk 8:00a04e5cd407 39 * If a FileSystemLike class defines the opendir method, then the
emilmont 55:d722ed6a4237 40 * directories of an object of that type can be accessed by
emilmont 44:24d45a770a51 41 * DIR *d = opendir("/example/directory") (or opendir("/example")
simon.ford@mbed.co.uk 8:00a04e5cd407 42 * to open the root of the filesystem), and then using readdir(d) etc.
simon.ford@mbed.co.uk 8:00a04e5cd407 43 *
simon.ford@mbed.co.uk 8:00a04e5cd407 44 * The root directory is considered to contain all FileLike and
simon.ford@mbed.co.uk 8:00a04e5cd407 45 * FileSystemLike objects, so the DIR* returned by opendir("/") will
simon.ford@mbed.co.uk 8:00a04e5cd407 46 * reflect this.
simon.ford@mbed.co.uk 8:00a04e5cd407 47 */
simon.ford@mbed.co.uk 8:00a04e5cd407 48 class DirHandle {
simon.ford@mbed.co.uk 8:00a04e5cd407 49
emilmont 44:24d45a770a51 50 public:
emilmont 43:e2ed12d17f06 51 /** Closes the directory.
simon.ford@mbed.co.uk 8:00a04e5cd407 52 *
emilmont 43:e2ed12d17f06 53 * @returns
emilmont 43:e2ed12d17f06 54 * 0 on success,
emilmont 43:e2ed12d17f06 55 * -1 on error.
simon.ford@mbed.co.uk 8:00a04e5cd407 56 */
simon.ford@mbed.co.uk 8:00a04e5cd407 57 virtual int closedir()=0;
emilmont 55:d722ed6a4237 58
emilmont 43:e2ed12d17f06 59 /** Return the directory entry at the current position, and
simon.ford@mbed.co.uk 8:00a04e5cd407 60 * advances the position to the next entry.
simon.ford@mbed.co.uk 8:00a04e5cd407 61 *
emilmont 43:e2ed12d17f06 62 * @returns
emilmont 44:24d45a770a51 63 * A pointer to a dirent structure representing the
emilmont 44:24d45a770a51 64 * directory entry at the current position, or NULL on reaching
emilmont 44:24d45a770a51 65 * end of directory or error.
simon.ford@mbed.co.uk 8:00a04e5cd407 66 */
simon.ford@mbed.co.uk 8:00a04e5cd407 67 virtual struct dirent *readdir()=0;
simon.ford@mbed.co.uk 8:00a04e5cd407 68
emilmont 43:e2ed12d17f06 69 /** Resets the position to the beginning of the directory.
simon.ford@mbed.co.uk 8:00a04e5cd407 70 */
simon.ford@mbed.co.uk 8:00a04e5cd407 71 virtual void rewinddir()=0;
simon.ford@mbed.co.uk 8:00a04e5cd407 72
emilmont 43:e2ed12d17f06 73 /** Returns the current position of the DirHandle.
simon.ford@mbed.co.uk 8:00a04e5cd407 74 *
emilmont 43:e2ed12d17f06 75 * @returns
emilmont 43:e2ed12d17f06 76 * the current position,
emilmont 43:e2ed12d17f06 77 * -1 on error.
simon.ford@mbed.co.uk 8:00a04e5cd407 78 */
simon.ford@mbed.co.uk 8:00a04e5cd407 79 virtual off_t telldir() { return -1; }
simon.ford@mbed.co.uk 8:00a04e5cd407 80
emilmont 43:e2ed12d17f06 81 /** Sets the position of the DirHandle.
simon.ford@mbed.co.uk 8:00a04e5cd407 82 *
emilmont 43:e2ed12d17f06 83 * @param location The location to seek to. Must be a value returned by telldir.
simon.ford@mbed.co.uk 8:00a04e5cd407 84 */
simon.ford@mbed.co.uk 8:00a04e5cd407 85 virtual void seekdir(off_t location) { }
emilmont 55:d722ed6a4237 86
emilmont 44:24d45a770a51 87 virtual ~DirHandle() {}
simon.ford@mbed.co.uk 8:00a04e5cd407 88 };
simon.ford@mbed.co.uk 8:00a04e5cd407 89
rolf.meyer@arm.com 11:1c1ebd0324fa 90 } // namespace mbed
simon.ford@mbed.co.uk 8:00a04e5cd407 91
simon.ford@mbed.co.uk 8:00a04e5cd407 92 typedef mbed::DirHandle DIR;
simon.ford@mbed.co.uk 8:00a04e5cd407 93
simon.ford@mbed.co.uk 8:00a04e5cd407 94 extern "C" {
simon.ford@mbed.co.uk 8:00a04e5cd407 95 DIR *opendir(const char*);
simon.ford@mbed.co.uk 8:00a04e5cd407 96 struct dirent *readdir(DIR *);
simon.ford@mbed.co.uk 8:00a04e5cd407 97 int closedir(DIR*);
simon.ford@mbed.co.uk 8:00a04e5cd407 98 void rewinddir(DIR*);
simon.ford@mbed.co.uk 8:00a04e5cd407 99 long telldir(DIR*);
simon.ford@mbed.co.uk 8:00a04e5cd407 100 void seekdir(DIR*, long);
simon.ford@mbed.co.uk 8:00a04e5cd407 101 int mkdir(const char *name, mode_t n);
simon.ford@mbed.co.uk 8:00a04e5cd407 102 };
simon.ford@mbed.co.uk 8:00a04e5cd407 103
simon.ford@mbed.co.uk 8:00a04e5cd407 104 #endif /* MBED_DIRHANDLE_H */