DJI Manifold User Manual

DJI Manifold User Manual
Add to My manuals

Below you will find brief information for Manifold. This device features an embedded-Linux computer ideal for DJI SDK, software and application development on DJI flight platforms. The Manifold development board provides high flexibility and extensibility for developers.

advertisement

Assistant Bot

Need help? Our chatbot has already read the manual and is ready to assist you. Feel free to ask any questions about the device, but providing details will make the conversation more productive.

DJI Manifold User Manual | Manualzz

MANIFOLD

User Manual

V1.0

2015.11

Searching for Keywords

Search for keywords such as “battery” and “install” to find a topic. If you are using Adobe

Acrobat Reader to read this document, press Ctrl+F (Windows) or Command+F (Mac) to begin a search.

Navigating to a Topic

View a complete list of topics in the table of contents. Click on a topic to navigate to that section.

Legends

Warning Important Hints and Tips Reference

Disclaimer

Thank you for purchasing the DJI Manifold (abbreviated as “Manifold”). Users must comply with local radio transmission laws and regulations when using this product. By using this product, you hereby agree to this disclaimer and signify that you understand all points completely. Please use this product in strict accordance with the manual and be sure to pay attention to the warnings.

When assembling and using this product, follow all instructions carefully. SZ DJI TECHNOLOGY

CO., LTD. and its affiliated companies assume no liability for damage(s) or injuries incurred directly or indirectly from improper use of this product.

DJI is the registered trademark of SZ DJI TECHNOLOGY CO., LTD. (abbreviated as “DJI”). Names of products, brands, etc., appearing in this manual are trademarks or registered trademarks of their respective owner companies. This product and manual are copyrighted by DJI with all rights reserved. No part of this product or manual shall be reproduced in any form without the prior written consent or authorization of DJI.

This disclaimer is produced in various languages. In the event of divergence among different versions, the Chinese version shall prevail when the product in question is purchased in Mainland

China, and the English version shall prevail when the product in question is purchased in any other region.

2

©

2015 DJI. All Rights Reserved.

Contents

Disclaimer

Product Profile

Connector View

System Settings

Basic Setup

Root Password

Network Settings

Max Performance Mode

Installing Development Packages

Installing CUDA

Installing the OpenCV4tegra

Installing the Robotic Operating System (ROS)

System Image

Downloading Package File

Entering Recovery Mode

Create a System Image

Restoring the System Image

Compiling Kernel

Specification

2

4

4

8

8

8

8

9

9

10

9

9

12

13

10

10

10

11

12

©

2015 DJI. All Rights Reserved.

3

Product Profile

The Manifold is an embedded-Linux computer that is ideal for DJI SDK based software and application development on DJI flight platforms including the DJI Matrice 100. Featuring an

NVIDIA Tegra K1 SOC (CPU+GPU+ISP in a single chip) with both standard and extended connectors and interfaces, the Manifold development board provides high flexibility and extensibility for developers.

Connector View

Connector Overview

Expansion Header HDMI

CAM_IN

CAM_OUT

Ethernet

Recovery USB

USB 3.0

USB 3.0

USB 2.0

UART 2

UART 3 Combo Audio Jack

Reset Button

Recovery Button

Power*

Mini PCIe Slot SD Card Slot

Expansion Header

The expansion header provides an interface to customized devices.

CAM_OUT CAM_IN HDMI EXPANSION I/O

Expansion I/O Port

4

©

2015 DJI. All Rights Reserved.

Manifold User Manual

The table below describes the pins and voltages of the expansion header.

11

12

13

7

8

9

10

5

6

3

4

Pin # Signal

1 3.3V_SYS

2 SPI4_CS3_L

3.3V_SYS

SPI4_SCK

1.8V_VDDIO

SPI4_MOSI

1.8V_VDDIO

SPI4_MISO

NULL

SPI4_CS0_L

Voltage

3.3 V-Power

1.8 V

3.3 V-Power

1.8 V

1.8 V-Power

1.8 V

1.8 V-Power

1.8 V

-

1.8 V

GND

GPIO1_IN

0 V

3.3 V

UART1_RXD_CON 3.3 V

Pin # Signal

14 GPIO2_OUT

15

16

17

18

19

20

21

22

23

24

25

26

UART1_TXD_CON 3.3 V

GND

NULL

PWR_I2C_SCL

GND

PWR_I2C_SDA

GEN1_I2C_SCL

GEN1_I2C_SDA

GND

GND

-

Voltage

3.3 V

0 V

1.8 V

0 V

1.8 V

UART4_RXD_CON 3.3 V

1.8 V

UART4_TXD_CON 3.3 V

1.8 V

0 V

0 V

Access UART1 from /dev/ttTHS0 in the operating system. UART4 is used as a kernel console and it is mapped to

/dev/ttyS0.

I2C is running at these frequencies 100kHz/400kHz (Standard/Fast Mode). Access

GEN1_I2C from

/dev/i2c-0 in the kernel. Access PWR_I2C from /dev/i2c-4 in the kernel.

The maximum SPI frequency is 50MHz.

Access GPIO1_IN from /sys/class/gpio/gpio157 and GPIO2_OUT from /sys/ class/gpio/gpio158 in the kernel.

UART 2/UART 3 Port

Both ports are used to establish a connection with the Matrice 100.

DC 16V~24V

UART 2 Port

©

2015 DJI. All Rights Reserved.

5

Manifold User Manual

UART 2 Port Description

Pin #

1

2

3

Signal

NULL

NULL

NULL -

-

-

Voltage Pin #

4

5

6

Access UART2 from /dev/ttyTHS1 in the kernel.

Signal

GND

TXD

RXD

Voltage

0 V

3.3 V

3.3 V

DC 16V~24V

UART Port 3

UART 3 Port Description

Pin #

1

2

Signal

NULL

RXD

-

Voltage

3.3 V

Pin #

3

4

Access UART3 from

/dev/ttyTHS2 in the kernel.

Signal

TXD

GND

Voltage

3.3 V

0 V

CAM_IN and CAM_OUT Port

The CAM_IN and CAM_OUT ports mainly serve as the interface between the camera mounted on the Matrice 100 and the Manifold. Refer to the Manifold product page(https://developer.dji.com/ manifold/videos/) for details on how to connect the camera to the Manifold.

CAM_OUT CAM_IN HDMI

CAM_IN / CAM_OUT Ports

6

©

2015 DJI. All Rights Reserved.

EXPANSION I/O

Manifold User Manual

Recovery USB

The Recovery USB port can work in either Host or Slave Mode, but is set to Host Mode by default. In Slave Mode, you can connect the Manifold to a computer via the Recovery USB port

to create a system image. Refer to “System Image” on P10 for more information on how to create

a system image.

RECOVERY USB RESET RECOVERY

Recovery USB

The Recovery USB works in Host Mode by default. Execute the following commands to switch from Host Mode to Slave Mode.

$ echo 0 > /sys/devices/platform/tegra-otg/enable_host

$ echo 1 > /sys/devices/platform/tegra-otg/enable_device

Mount the USB Gadget using the commands below if necessary. Take g_zero for example:

$ modprobe g_zero

$ echo connect > /sys/devices/platform/tegra-udc.0/udc/tegraudc.0/soft_connect

Execute the following commands to switch from Slave Mode to Host Mode.

$ echo disconnect > /sys/devices/platform/tegra-udc.0/udc/ tegraudc. 0/soft_connect

$ modprobe -r g_zero

$ echo 0 > /sys/devices/platform/tegra-otg/enable_device

$ echo 1 > /sys/devices/platform/tegra-otg/enable_host

The CAM_IN and Recovery USB ports are both governed by the same USB controller, and hence only one port can be used at a time.

©

2015 DJI. All Rights Reserved.

7

System Settings

Set the root password and the networking and system parameters in the terminal after the system is booted up. This chapter describes the procedures on configuring these settings.

Basic Setup

The Manifold development board should be connected to an HDMI monitor, a USB keyboard and mouse, and an Ethernet connection (optional). The Ubuntu 14.04 operating system will sign in automatically after the Manifold is powered on. Enter the following login credentials if necessary:

User name: ubuntu

Password: ubuntu

Root Password

A random root password is assigned. If a static root password is required, run the following command:

$ sudo passwd

And enter the login password “ubuntu” then enter the root password.

Network Settings

Ethernet Settings

Plug the Ethernet cable into the Ethernet port. If DHCP service is available on the connected network, then the Manifold will be assigned with an IP address automatically. Otherwise, run the following command to obtain an IP address:

$ sudo ifconfig eth0 xxx.xxx.xxx.xxx

$ ifconfig where “xxx.xxx.xxx.xxx” is the IP address that you wish to use.

Wireless Network

It is recommend to use the mini-PCIe chipet with ““Intel 7260 HMW”“ wireless adapter, which supports both 802.11n and 802.11ac protocols. The drivers for the Intel 7260 HMW is preinstalled. Refer to http://elinux.org/Jetson/Network_Adapters for more information about how to configure wireless adapters from other vendors.

8

©

2015 DJI. All Rights Reserved.

Manifold User Manual

Wireless Settings

Wireless adapter will acquire an IP address if DHCP services is available on the connected network. Should there is a need to manually assign an IP address to the wireless adapter, run the commands below:

$ ifconfig wlan0 xxx.xxx.xxx.xxx

$ ifconfig where “xxx.xxx.xxx.xxx” is the IP address that you wish to use.

Max Performance Mode

A script designed to optimize the performance is preinstalled. Run the following commands to temporarily set the Manifold to Max Performance Mode:

$ sudo /home/ubuntu/max_performance

Add a new entry of “ /home/ubuntu/max_performance” within the “/etc/rc.local” if you wish to set the Manifold into Max Performance mode persistently. Refer to http://elinux.

org/Jetson/Performance for more information.

Installing Development Packages

Installing CUDA

1. Visit the following link to download the CUDA package: http://developer.download.nvidia.com/ embedded/L4T/r21_Release_v3.0/cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb

2. Run the following commands to install the CUDA package onto the operating system.

$ sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb

$ sudo apt-get update

$ sudo apt-get install cuda-toolkit-6-5

Refer to the link below for more details: https://developer.nvidia.com/embedded/linux-tegra

Installing the OpenCV4tegra

a. Visit the following link to download the package of “libopencv4tegra-repo_l4t-r21_2.4.10.1_

armhf.deb” http://developer.download.nvidia.com/embedded/OpenCV/L4T_21.2/ libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb

©

2015 DJI. All Rights Reserved.

9

Manifold User Manual b. Run the commands below to install the OpenCV4tegra package onto the operating system.

$ sudo dpkg -i libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb

$ sudo apt-get update

$ sudo apt-get install libopencv4tegra libopencv4tegradevlibopencv4tegra-python

Refer to the link below for more details: https://developer.nvidia.com/embedded/linux-tegra

Installing the Robotic Operating System (ROS)

Refer to the link below for the complete information about how to download and install the ROS package onto the operating system. http://wiki.ros.org/indigo/Installation/UbuntuARM

System Image

Prerequisites for creating the system image:

1. Linux operating system.

2. At least 16 GB of free disk space.

Downloading Package File

Downlaod the package file “manifold_image_v1.0.tar.gz” from the following link: https://developer.dji.com/en/manifold/downloads/

Unzip the package files by running the commands listed below:

$ mkdir ~/manifold

$ cd ~/manifold

$ sudo tar -xvpzf <your path>/manifold_image_v1.0.tar.gz

Entering Recovery Mode

Method 1:

1. Switch off the Manifold development board and remove the AC adapter from the power port.

2. Connect the Recovery USB to an available USB port on the Host computer with the supplied

Micro USB cable.

3. Connect the power adapter to the Manifold development board.

4. Use a pin to press and hold the RECOVERY button, and then press the POWER button once to turn on the Manifold development board. Release the RECOVERY button to enter

Recovery mode.

10

©

2015 DJI. All Rights Reserved.

Manifold User Manual

Method 2 :

1. Switch off the Manifold development board and remove the AC adapter from the power port.

2. Connect the Recovery USB to an USB Port on the Host computer via the Micro USB cable.

3. Connect the power adapter to the Manifold development board.

4. Press the power button once to boot up the system. While pressing the Recovery Button, use a pin to press and release Reset Button once. Finally, release the Recovery Button.

Run “lsusb” from the Host computer to check if the Manifold has entered the Recovery Mode successfully.

The Manifold has entered Recovery Mode successfully if “NVIDIA” is displayed on the screen. If no such text is displayed, repeat steps 1 to 4.

The Manifold development board will not boot up if it is in Recovery Mode (nothing appears on the monitor).

Create a System Image

Enter the bootloader folder by running the command shown below:

$ cd ~/manifold/manifold_images/bootloader

Remove the existing system.img file from the bootloader folder. Run the following command to create a new system image.

$ sudo ./nvflash --read APP system.img --bl ardbeg/fastboot.bin --go

It may take a while to create the system image. Please be patient. After running the above command, the “system.img” file can be used as a backup of the current system.

©

2015 DJI. All Rights Reserved.

11

Manifold User Manual

Restoring the System Image

Run the following command to restore the system to its default settings.

$ cd ~/manifold/manifold_images

$ sudo ./flash.sh jetson-tk1 mmcblk0p1

Restore the system with the created system.img file by executing the commands below:

$ cd ~/manifold/manifold_images

$ sudo ./flash.sh –r jetson-tk1 mmcblk0p1

Refer to video tutorial on the Manifold product page (https://developer.dji.com/en/manifold/videos/) for more information.

For more information about restoring system refer to this link (http://elinux.org/Jetson/Cloning).

Compiling Kernel

1. Download the “manifold_kernel_source_v1.0.tar.gz” source package from the Manifold product page (https://developer.dji.com/en/manifold/downloads/).

2. Unzip the package file by running the commands below:

$ mkdir ~/kernel

$ cd ~/kernel

$ tar xvzf <your path>/manifold_kernel_source_v1.0.tar.gz

3. Compiling kernel by running the commands below:

$ cd ~/kernel/Linux_3.10

$ cp arch/arm/configs/manifold_config .config

$ make menuconfig

$ make

Note that manifold_config is the default configuration file.

4. Run “make modules” command to install the kernel and modules.

$ make modules_install

$ sudo cp /boot/zImage /boot/zImage.bak //backup the zImage

$ sudo cp arch/arm/boot/zImage /boot/ //cp zImage

$ sudo cp arch/arm/boot/dts/tegra124-jetson_tk1-pm375-000-c00-00.

dt* /boot/ //copy device tree

12

©

2015 DJI. All Rights Reserved.

Specification

Weight

Dimension

Processors

Memory

Network

Audio

USB

I/O

Input Voltage

Operating Temperature

Power Consumption

197 g

110 mm×110 mm×26 mm

Quad-core, 4-Plus-1 ARM Cortex-A15 MPcore Processor with

NEON technology

Low-power NVIDIA Kepler-based GeForce graphics processor

Image-signal processor

Ultra low-power audio processor

2GB DDR3L system RAM

16 GB eMMC 4.51 storage

10/100/1000BASE-T Ethernet

Combo audio jack(mic/headphone)

USB 3.0 Type-A Host connector×2

USB 2.0 Type-A Host connector×2

Micro-B USB connector (host/slave mode)

Extended USB connector with DJI M-series Multicopter×2

Mini-HDMI connector

Half mini-PCIe expansion slot

UART port(3.3V)×2

Micro SD card connector

I/O expansion headers (26pins)

14 V ~ 26 V

-10 ℃ ~ 45 ℃

5 w ~ 15 w

©

2015 DJI. All Rights Reserved.

13

This content is subject to change.

Download the latest version from https://developer.dji.com/manifold/downloads

If you have any questions about this document, please contact DJI by sending a message to [email protected]

.

© 2015 DJI. All Rights Reserved.

advertisement

Key Features

  • Embedded-Linux computer
  • NVIDIA Tegra K1 SOC
  • High flexibility and extensibility
  • DJI SDK based software and application development
  • DJI flight platforms including the DJI Matrice 100
  • Standard and extended connectors and interfaces

Frequently Answers and Questions

How do I switch from Host Mode to Slave Mode on the Recovery USB?
Execute the following commands: $ echo 0 > /sys/devices/platform/tegra-otg/enable_host $ echo 1 > /sys/devices/platform/tegra-otg/enable_device
How do I switch from Slave Mode to Host Mode on the Recovery USB?
Execute the following commands: $ echo disconnect > /sys/devices/platform/tegra-udc.0/udc/tegraudc.0/soft_connect $ modprobe -r g_zero $ echo 0 > /sys/devices/platform/tegra-otg/enable_device $ echo 1 > /sys/devices/platform/tegra-otg/enable_host
How do I install the CUDA package?
a. Visit this link to download the CUDA package: http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb b. Run these commands to install the CUDA package: $ sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb $ sudo apt-get update $ sudo apt-get install cuda-toolkit-6-5

Related manuals