Arch Pro Platform

This is the Platform Library implementation for the Seeed Studio Arch Pro.

http://www.seeedstudio.com/depot/Arch-Pro-p-1677.html

Mass Storage

Examples require a SparkFun microSD shield.

Networking

Examples use the built-in Ethernet port.

Graphics

There are no built-in graphics. You can enable graphics by editing example_plugin_graphics.c to select an appropriate graphics adapter.

I2C

The platform I2C bus routing is:

SPI

The platform SPI bus routing is:

API
/* Copyright (c) 2004-2013 Rowley Associates Limited.
*/

#ifndef __SEEED_STUDIO_ARCH_PRO_PLATFORM_H
#define __SEEED_STUDIO_ARCH_PRO_PLATFORM_H

#include "libplatform/platform_lpc1700.h"

// ==============================================
// Arduino footprint pin mapping
// ==============================================

// Digital headers
#define ARDUINO_D0            LPC1700_PAD(LPC1700_PORT_4, 29)
#define ARDUINO_D1            LPC1700_PAD(LPC1700_PORT_4, 28)
#define ARDUINO_D2            LPC1700_PAD(LPC1700_PORT_0, 4)
#define ARDUINO_D3            LPC1700_PAD(LPC1700_PORT_0, 5)
#define ARDUINO_D4            LPC1700_PAD(LPC1700_PORT_2, 2)
#define ARDUINO_D5            LPC1700_PAD(LPC1700_PORT_2, 3)
#define ARDUINO_D6            LPC1700_PAD(LPC1700_PORT_2, 4)
#define ARDUINO_D7            LPC1700_PAD(LPC1700_PORT_2, 5)
#define ARDUINO_D8            LPC1700_PAD(LPC1700_PORT_0, 0)
#define ARDUINO_D9            LPC1700_PAD(LPC1700_PORT_0, 1)
#define ARDUINO_D10           LPC1700_PAD(LPC1700_PORT_0, 6)
#define ARDUINO_D11           LPC1700_PAD(LPC1700_PORT_0, 9)
#define ARDUINO_D12           LPC1700_PAD(LPC1700_PORT_0, 8)
#define ARDUINO_D13           LPC1700_PAD(LPC1700_PORT_0, 7)

// Analog header
#define ARDUINO_A0            LPC1700_PAD(LPC1700_PORT_0, 23)
#define ARDUINO_A1            LPC1700_PAD(LPC1700_PORT_0, 24)
#define ARDUINO_A2            LPC1700_PAD(LPC1700_PORT_0, 25)
#define ARDUINO_A3            LPC1700_PAD(LPC1700_PORT_0, 26)
#define ARDUINO_A4            LPC1700_PAD(LPC1700_PORT_1, 30)
#define ARDUINO_A5            LPC1700_PAD(LPC1700_PORT_1, 31)

// On digital header
#define ARDUINO_AREF          LPC1700_PAD(LPC1700_PORT_2, 13)

// Additional Uno pins
#define UNO_SCL               LPC1700_PAD(LPC1700_PORT_0, 28)
#define UNO_SDA               LPC1700_PAD(LPC1700_PORT_0, 27)
#define UNO_NC                LPC1700_PAD(LPC1700_PORT_2, 12)   // on power header; Uno has N/C...

// Arduino SPI programming header
#define ARDUINO_SPI_MOSI      LPC1700_PAD(LPC1700_PORT_0, 18)
#define ARDUINO_SPI_MISO      LPC1700_PAD(LPC1700_PORT_0, 17)
#define ARDUINO_SPI_SCK       LPC1700_PAD(LPC1700_PORT_0, 15)
#define ARDUINO_SPI_SSEL      LPC1700_PAD(LPC1700_PORT_0, 16)

// Grove I2C socket
#define GROVE_I2C_SDA         LPC1700_PAD(LPC1700_PORT_0, 10)
#define GROVE_I2C_SCL         LPC1700_PAD(LPC1700_PORT_0, 11)

// Grove UART socket
#define GROVE_UART_TX         LPC1700_PAD(LPC1700_PORT_2, 0)
#define GROVE_UART_RX         LPC1700_PAD(LPC1700_PORT_2, 1)

// LEDs
#define ARCH_PRO_LED1         LPC1700_PAD(LPC1700_PORT_1, 18)  // green
#define ARCH_PRO_LED2         LPC1700_PAD(LPC1700_PORT_1, 20)  // red
#define ARCH_PRO_LED3         LPC1700_PAD(LPC1700_PORT_1, 21)  // blue
#define ARCH_PRO_LED4         LPC1700_PAD(LPC1700_PORT_1, 23)  // yellow

// LAN
#define ARCH_PRO_LAN_RST        LPC1700_PAD(LPC1700_PORT_1, 28)
#define ARCH_PRO_LAN_OSC_EN     LPC1700_PAD(LPC1700_PORT_1, 27)
#define ARCH_PRO_LAN_LED_SPEED  LPC1700_PAD(LPC1700_PORT_1, 26)
#define ARCH_PRO_LAN_LED_LINK   LPC1700_PAD(LPC1700_PORT_1, 25)
#define ARCH_PRO_LAN_50_MHZ     LPC1700_PAD(LPC1700_PORT_1, 15)
#define ARCH_PRO_LAN_TXD0       LPC1700_PAD(LPC1700_PORT_1, 0)
#define ARCH_PRO_LAN_TXD1       LPC1700_PAD(LPC1700_PORT_1, 1)
#define ARCH_PRO_LAN_TXEN       LPC1700_PAD(LPC1700_PORT_1, 4)
#define ARCH_PRO_LAN_CRS        LPC1700_PAD(LPC1700_PORT_1, 8)
#define ARCH_PRO_LAN_RXD0       LPC1700_PAD(LPC1700_PORT_1, 9)
#define ARCH_PRO_LAN_RXD1       LPC1700_PAD(LPC1700_PORT_1, 10)
#define ARCH_PRO_LAN_RXER       LPC1700_PAD(LPC1700_PORT_1, 14)
#define ARCH_PRO_LAN_REFCLK     LPC1700_PAD(LPC1700_PORT_1, 15)
#define ARCH_PRO_LAN_MDC        LPC1700_PAD(LPC1700_PORT_1, 16)
#define ARCH_PRO_LAN_MDIO       LPC1700_PAD(LPC1700_PORT_1, 17)


// ==============================================
// Platform limits
// ==============================================

#define PLATFORM_PIN_COUNT      (5*32)
#define PLATFORM_SPI_BUS_COUNT  2
#define PLATFORM_I2C_BUS_COUNT  3
#define PLATFORM_UART_COUNT     0
#define PLATFORM_LED_COUNT      4
#define PLATFORM_BUTTON_COUNT   0
#define PLATFORM_UEXT_COUNT     0


#endif