Getting started with E909.06

Similar documents
E and E firmware additional

AT03975: Getting Started with SAM L21. Descripton. Features. SMART ARM-Based Microcontroller APPLICATION NOTE

QT3 Xplained Pro. Preface. Atmel QTouch USER GUIDE

LotOS Framework. Getting Started Guide for Banana Pi. Copyright (C) 2015 ilbers GmbH Revision 1.1,

User Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents

OLED display with pixels resolution Ambient light sensor CPU load Analog filter Quadrature Encoder with push button Digital I/O

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

C8051F530A-DK C8051F530A DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents

Application Note. Startup DevKit16. History 19 th June 00 TKa V1.0 started 20 th June 00 TKa V1.1 Some minor text corrections

Smart RF Device Family - Getting Started Guide. Features. Description. References ATAN0115 APPLICATION NOTE

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

AT06467: Getting started with SAM D09/D10/D11. Features. Description. SMART ARM-based Microcontrollers APPLICATION NOTE

User Manual. LPC-StickView V1.1. for LPC-Stick. Contents

Figure 1. EFM32 Wonder Gecko STK (Left) Connected to a Biometric-EXP (Right)

AKKON USB CONTROLLER BOARD

QT2 Xplained Pro. Preface. Atmel QTouch USER GUIDE

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Ethernet1 Xplained Pro

Atmel AVR1924: XMEGA-A1 Xplained Hardware User's Guide. 8-bit Atmel Microcontrollers. Application Note. Preliminary. Features.

User Manual Firmware Update

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter

Si1140-DK. Si1140 DEVELOPMENT KIT USER S GUIDE. 1. Kit Contents. Figure 1. Si1143 Evaluation Board

USER GUIDE. Atmel QT1 Xplained Pro. Preface

LBAT90USB162 Atmel. LBAT90USB162 Development Board User s Manual

Atmel AVR1926: XMEGA-B1 Xplained Getting Started Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR ATxmega384C3 microcontroller OLED display with 128x32 pixels resolution Analog sensors. Ambient light sensor Temperature sensor

Getting Started with STK200 Dragon

HID-USB-to-IR-RD HID USB TO IR REFERENCE DESIGN USER S GUIDE. 1. Kit Contents. 2. Software Download

F²MC-8L FAMILY MB89201 SERIES FLASH PROGRAMMING 8-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

USER GUIDE. Atmel QT6 Xplained Pro. Preface

Atmel QT600 Quick Start Guide Touch Solutions

DATASHEET. MK-070C-HP High Performance 7 Inch Capacitive Touch Display. Amulet. Technologies. July 2015 Revision A

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

C8051F700-DK C8051F700 DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents. 3. Hardware Setup

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Installation and Maintenance

EMX Development System

DoCD IP Core. DCD on Chip Debug System v. 6.02

Kinetis Bootloader v1.2.0 Release Notes

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools

USER GUIDE EDBG. Description

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

LPC2468 Industrial Reference Design Platform System Development Kit Version 1.2. August 2008

C8051F800-DK C8051F800 DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents. 3. Hardware Setup

FRDM-KL03Z User s Guide

OM13071 LPCXpresso824-MAX Development board

This revision of the manual is dated July 9, All modifications from previous versions are listed in the appendix.

AC/DC. Adapter. Serial. Adapter. Figure 1. Hardware Setup

ACU6. Technical Reference Manual. Specifications Interfacing Dimensions. Document topics. ANSARI Controller Unit Type 6 technical reference manual

USER GUIDE. Atmel PROTO1 Xplained Pro. Preface

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual

Programming in the MAXQ environment

BNO080 Development Kit for Nucleo Quick Start Guide

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Getting Started with PRoC -UI

Purchase Agreement. P&E Microcomputer Systems, Inc. 98 Galen St. Watertown, MA

POWERLINK Slave Xilinx Getting Started User's Manual

Future Technology Devices International

Atmel ATMXT143E touchscreen controller Capacitive touch ITO 320 x 240 pixel LCD display with SPI interface LED backlight

Hands-On Workshop: ARM mbed

BT121 Bluetooth Smart Ready Module. July 2016

APPLICATION NOTE. Atmel QT4 Xplained Pro User Guide ATAN0114. Preface

Prototyping Module Datasheet

USB HD Audio/Video Codec Model 2263 Hardware Manual Ver October 2013

EDBG. Description. Programmers and Debuggers USER GUIDE

Product Datasheet: DWM1001-DEV DWM1001 Module Development Board. Key Features and Benefits

EasyPIC5 Development System

BV511 Hardware Guide ByVac ByVac Revision 1.0

Si1146 UVIRSlider2EK Demo Kit

AC/DC Adapter. Figure 1. Hardware Setup

AVR1922: Xplain Board Controller Firmware 8-bit Microcontrollers Application Note Features 1 Introduction

USER GUIDE. Atmel OLED1 Xplained Pro. Preface

PCB-STM32-F3U. Development baseboard for the STMicro Discovery-F3 module (STMicro part# STM32F3DISCOVERY)

EZ430-C9. Getting Started with Kionix EZ430-C9 Evaluation Board for the Texas Instruments MSP430 USB Stick Development Tool

AVR1518: XMEGA-A1 Xplained Training - XMEGA Clock System. 8-bit Atmel Microcontrollers. Application Note. Prerequisites.

USER GUIDE. ATWINC1500 Xplained Pro. Preface

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

SABLE-X AND SABLE-X-R2 DEVELOPMENT BOARD USER GUIDE

APPLICATION NOTE. Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices. Atmel AVR XMEGA. Features.

APPLICATION NOTE. AT03197: Thermostat with Touch and Wireless Connectivity Hardware User's Guide. Atmel 32-bit Microcontroller. Description.

USER GUIDE. ATmega168 Xplained Mini User Guide. Introduction

TAP Expander Blackhawk Emulator Expansion Pod. Document Part Number: REV B

ECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015

E Demonstration Board AN 0178 Dec 15, 2016

BLE121LR Bluetooth Smart Long Range Module 5/12/2014 1

ATZB-SAMR21-XPRO. Preface. SmartConnect USER GUIDE

IAR EWARM Quick Start for. Holtek s HT32 Series Microcontrollers

Melon S3 FPGA Development Board Product Datasheet

AN LPC82x Touch Solution Quick Start Guide. Document information. Keywords

LPC2148 DEV BOARD. User Manual.

Please refer to "4. Evaluation Board" on page 2 for more information about these steps. Figure 1. System Connections

DBAT90USB162 Atmel. DBAT90USB162 Enhanced Development Board User s Manual

WiMOD - im880b. Application Note AN017 / Version 1.1. Firmware Update for im880b. Document ID: 4100/40140/0103. Category:

EMULATOR SETUP MB BIT COMPACT-ICE

HVP-KV10Z32 User s Guide

LPC-P1227 development board USER S MANUAL Initial release, March 2012 Designed by OLIMEX Ltd, 2011

Atmel ATtiny1634 MCU Atmel ATA SBC LIN transceiver with integrated voltage regulator Touch. Three Atmel QTouch buttons One Atmel QTouch slider

Transcription:

preliminary Getting started with E909.06 Overview of software and tools Version 1.00 14.04.2015 Mechaless Systems GmbH TRIWO Technopark Bruchsal Werner-von-Siemens-Str. 2-6 Building 5108 76646 Bruchsal

LIMITED WARRANTY THERE IS NO WARRANTY FOR THE CORRECTNESS OF THIS PUBLICATION OR THE RELATED CODE EXAMPLES OR RELATED PROGRAMS TO THE EXTENT PERMITED BY APPLICABLE LAW EXCEPT WHEN OTHERWISE STATED IN WRITING. THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PUBLICATION OR THE PUBLISHED CODE EXAMPLES OR RELATED PROGRAMS "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PUBLICATION OR THE PUBLISHED CODE EXAMPLES OR RELATED PROGRAMS IS WITH YOU. SHOULD THE PUBLICATION OR THE PUBLISHED CODE EXAMPLES OR THE RELATED PROGRAMS PROVE TO BE INCORRECT OR DEFECTIVE, YOU ASSUME THE COST OF ALL NECCESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT, UNLESS REQUIRED BY APPLICABLE LAW, WILL THE COPYRIGHT HOLDER OR ANY OTHER PARTY BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTICAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS PUBLICATION OR THE PUBLISHED CODE EXAMPLES OR THE RELATED PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR FAILURE OF THE PROGRAMS/PROGRAM EXAMPLES TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. If you have any questions or comments regarding this software or documentation, please contact: Mechaless Systems GmbH TRIWO Technopark Bruchsal Werner-von-Siemens-Str. 2-6 Building 5108 76646 Bruchsal www.mechaless.com info@mechaless.com Tel.: +49 (0)7251 / 50513-0 Fax: +49 (0)7251 / 50513-11 getting started with e90906.docx Version 1.00 2/18

Content 1 Overview of demonstrators... 4 1.1 Evaluation board... 4 1.2 Gesture reference Board... 5 1.3 Two-inch-slider... 6 2 Evaluate the sensor... 7 2.1 HACo tool... 7 2.2 Gesture Debugger Tool... 8 2.3 Establish USB communication to the sensor... 8 3 Software and application notes... 10 3.1 Overview of the application notes... 10 3.2 HALIOS library and source projects... 12 3.3 Elmos default software for E909.06... 13 4 Develop a customized sensor application... 14 4.1 Develop customized software for E909.06 CPU... 14 4.2 Using your own MCU and interface to E909.06... 14 4.3 Create a Windows based application... 14 5 Update or flash software in E909.06... 15 5.1 MAZ JTAG INTERFACE... 15 5.2 Using the Mechaless Com-Board... 16 6 Order E909.06 for mass production... 17 7 Related documents... 18 getting started with e90906.docx Version 1.00 3/18

1 Overview of demonstrators Mechaless provides the following HALIOS demonstrator. All boards are complete optical HALIOS sensors which include PCB, optical elements and the software implementation. The software of each board provides a working example which is adapted to the sensor specific hardware. The following sensor types are in stock and can be ordered at Mechaless. E909.06 Evaluation Board Gesture reference board Two-inch slider 1.1 Evaluation board With the evaluation board (Figure 1) it is designed to demonstrate the functions of E909.06 devices including SPI communication with MAX3420. It provides connectors and pin headers for GPIO access, as also the receiver and sender connectors for arbitrary sensor heads. With that it is comfortable to evaluate various kinds of optical sensor heads. Figure 1: The Mechaless baseboard with E909.06 The baseboard provides the following pin headers - Power supply for 5V, 2.5V and Gnd with 3 pins each. 3.3V with one pin connector - External power supply connector for 12V power supply - USB plug for USB communication and 5V power supply via USB - Receiver path - Sender path - 14 pin service interface, for JTAG, GPIO port, SPI and I 2 C Options for GPIO configuration GPIO4 7 are JTAG pins for flash and debug interface Configure GPIO4 7 either as GPIO or SPI SPI interface is configurable as SPI master or SPI slave I 2 C interface is I 2 C slave only - Separate 8 pin GPIO port with LED signalization - 10 pol connector for the 4 inputs and the 4 outputs of the MAX3420 device which does USB communication getting started with e90906.docx Version 1.00 4/18

1.1.1 Baseboard with one gesture head The baseboard usually is delivered with one or two gesture heads. The connectors of the gesture head fits to the sender and receiver connectors on the baseboard. Each sensor heads provides to sending LEDs, one photo diode and the pre amplifier E909.07. Figure 2 shows the gesture head. Figure 2: The Gesture Head In case of using two gesture heads on the baseboard you need two adapter PCBs to connect both heads to the baseboard. Figure 3 shows the baseboard with sender and receiver adapter for two gesture heads. Figure 3: The base board with adapter for two sensor heads NOTE: THAT ADAPTER BOARDS DON T USE DIFFERENTIAL RECEIVING SIGNLAS. THE CURRENT SETUP IS JUST FOR DEMONSTRATION. PLEASE DON T COPY THAT OPTION. REFER TO APPLICATION EXAMPLES HOW TO MULTPLEX HEADS IF YOU NEED MORE THAN ONE SENSOR HEAD. 1.2 Gesture reference Board The Gesture reference board (Figure 4) is a standalone HALIOS demonstrator with E909.06. It provides a complete optical IR based gesture solution without any mechanical or optical parts. For gesture detection three IR sending LEDs are used. The gestures are signalized with five indication LEDs The software provides the following default Mechaless default gestures: Awareness Continuous proximity Swipe gesture detection in x/y direction Time select Double Tap gesture getting started with e90906.docx Version 1.00 5/18

Figure 4: The Gesture Reference Board The benefits of this board are: Easy evaluation of the existing functions PCB is ready to integrate in an existing solution Connect the PCB to your own application via I 2 C and an optional interrupt pin Capability for fast integration of the gestures in a Windows application by using the Gesture Debugger template with.net and C#, connection to Mechaless Com-Board required Soldering pads for fast access to power supply, I 2 C and the interrupt pin USB connector for 5V standalone power supply 1.3 Two-inch-slider The Two-inch Slider (Figure 5) is a standalone HALIOS demonstrator with E909.06. It provides a complete optical IR based gesture solution without any mechanical or optical parts. For gesture detection two IR sending LEDs are used. The gestures are signalized with two indication LEDs The software provides the following default Mechaless default gestures: Awareness Continuous proximity Swipe gesture detection in x direction Time select Double Tap gesture X-slider, Continuous relative position output in x direction Figure 5: The Two-inch Slider The benefits of this board are: Easy evaluation of the existing functions PCB is ready to integrate in an existing solution Connect the PCB to your own application via I 2 C and an optional interrupt pin USB connector for power supply including HACo and Gesture Debugger support. Capability for fast integration of the gestures in a Windows application by using the Gesture Debugger template with.net and C# Option to cut the signalization LEDs and the USB part to reduce PCB size getting started with e90906.docx Version 1.00 6/18

2 Evaluate the sensor The most powerful way to evaluate the sensor including the implemented software is to establish a USB communication between a Windows PC and the sensor. For sensor evaluation you can use the HACo tool and especially for analysis of the implemented default gestures you can use the Gesture Debugger template. Additionally you can develop your own PC based gesture application by using the Gesture Debugger Template. 2.1 HACo tool The HALIOS configuration (HACo) tool is powerful PC tool which provides access to the firmware in E909.06. It provides a graphical view of sensor signals and the sensor configuration. With the HACo tool it is easy to evaluate software, sensor configuration and the optical setup of sensor heads. Figure 6 and Figure 7 illustrate the HACo main window and the essential graphical views for the sensor. Figure 6: HACo tool main window Figure 7: Left: the Loop values view vs. time window; right the configuration dialog getting started with e90906.docx Version 1.00 7/18

For a summary of the most relevant SFR and USER space memory address in firmware please refer to document application_spec_address.pdf. 2.2 Gesture Debugger Tool The Gesture Debugger is a PC application which mirrors the gesture detection in E909.06. The Gesture Debugger is able to enable and disable available gestures in the device. Each gesture value or event is generated in the Embedded device. Figure 8: Gesture Debugger 2.3 Establish USB communication to the sensor To establish USB communication between the sensor and a Windows PC there are basically two options available: 1. Using the Mechaless USB library inside E909.06 and the MAX3420 device 2. Using the Mechaless Com-Board 2.3.1 On-board USB with MAX3420 This option realizes a SPI-USB bridge by using the MEX3420 device. Therefore Mechaless provides a software library for E909.06 which handles the USB communication. The software sets up the E909.06 as SPI master and communicates with SPI slave MAX3420. The indication for communication request by the USB host is signalized via a SPI interrupt pin. This pin is routed to the GPIO_1 of E909.06. Please keep in mind that whenever this solution is used SPI slave in E909.06 isn t available. PC <== USB ==> MAX3420 <== SPI ==> E909.06 Figure 9 illustrates the distribution diagram for USB connection with MAX3420. getting started with e90906.docx Version 1.00 8/18

Optical parts E909.06 SPI INT MAX3420 USB Windows XP/7 32/64 bit hardware HID Firmware E909.06 User application HACo Gesture debugger Gesture debugger C# template software USB library gesture library sensor configuration and signal evaluation Gesture evaluation User application Figure 9: Distribution diagram for software using MAX3420 as SPI-USB bridge 2.3.2 Using the Mechaless Com-Board The Mechaless Com-Board itself provides USB communication for HACo and Gesture Debugger support. The Com-Board contains an MCU which translates the Mechaless USB HID protocol to E909.06 firmware protocol. It supports access to E909.06 via SPI or I 2 C while the E909.06 is configured as I 2 C slave or SPI slave. a) PC <== USB ==> Com-Board MCU <== I 2 C ==> E909.06 b) PC <== USB ==> Com-Board MCU <== SPI ==> E909.06 Figure 10 shows the distribution diagram for USB connection with the Mechaless Com-Board (Figure 11). Optical parts E909.06 I2C SPI Com-Board USB Windows XP/7 32/64 bit hardware HID Firmware E909.06 User application HACo Gesture debugger Gesture debugger C# template software USB library gesture library sensor configuration and signal evaluation Gesture evaluation User application Figure 10: Distribution diagram for software using the Com-Board Figure 11: The Mechaless Com-Board getting started with e90906.docx Version 1.00 9/18

3 Software and application notes 3.1 Overview of the application notes The application notes are preconfigured projects with software code examples. These examples can be loaded and compiled with IAR Embedded Workbench for TI MSP430 and the UEStudio06 with the GNU GCC compiler. You can download the application notes from the Mechaless web site: http://www.mechaless.com/download.html All examples include device timing by using the analog wake up timer watchdog firmware API calls All of the projects support I 2 C slave device by default. If USB library is used the default GPIO configuration is SPI master and GPIO_1 is used for SPI_INT pin from MAX3420. If you aren t going to use direct USB interface with E909.06 you can disable the USB option in the main.h file with a compiler switch. Table 1 lists the existing application notes with a short description for each project. Software example project a1_firmware Used libraries: lib_firmware Description Compact and small project. No USER space support. An example how to use the TIMER1 module is included. recommended if no HALIOS gestures and no calibration routines are needed b1_haliostools Used libraries: lib_firmware lib_haliostools lib_usb Project which handles the sensor signals and provides USB communication for HACo tool. Support for filter, calibration and the level switch module. recommended as startup project in case no gesture detection is needed d1_usb_mousedemo Used libraries: lib_firmware lib_haliostools Project which handles the sensor signals and installs the E909.06 with MAX3420 as USB HID mouse. The software is based on the baseboard with two gesture heads and transfers the sensor signals into a mouse movement. getting started with e90906.docx Version 1.00 10/18

lib_usb For multiplexing of the two sensor heads the io_control module is used. d3_spi_master Used libraries: lib_firmware lib_haliostools lib_spi_master e2_eval_board Used libraries: lib_firmware lib_haliostools lib_usb lib_haliosgestures recommended as startup project in case the io_control module or all available HALIOS default gestures are needed g1_gesture_head used libraries: lib_firmware lib_haliostools lib_usb lib_haliosgestures recommended as startup project in case some HALIOS default gestures are needed Simple project which provides SPI master function to E909.06. The project shows how to communicate with another E909.06 SPI slave. Complex project including the HALIOS gesture application. The software handles the sensor signals, provides USB communication for HACo tool and includes support for all Mechaless default gestures. The software is based on the baseboard with one or two gesture heads. For multiplexing of the two sensor heads the io_control module is used. The HALIOS gesture application provides a full interface for the Gesture Debugger on PC. The complexity of software is increased because of the gesture detection which depends on the number of loops and the 1D/2D gesture detection. Additionally this project supports an USB keystroke demo mode. You can install the E909.06 as USB keyboard which throws individual keystrokes on each gesture event. It is the light version of e2_eval_board. The software handles the sensor signals, provides USB communication for HACo tool and includes support for 1D Mechaless default gestures. The software is based on the baseboard with one gesture head. The HALIOS gesture application provides a full interface for the Gesture Debugger on PC. Additionally this project supports an USB keystroke demo mode. You can install the E909.06 as USB keyboard which throws individual keystrokes on each gesture event. g2_gesture_reference_board Used libraries: lib_firmware lib_haliostools lib_usb lib_haliosgestures Software example for the gesture reference board. The software handles the sensor signals, provides USB communication for HACo tool and includes support for 2D Mechaless default gestures. The HALIOS gesture application provides a full interface for the Gesture Debugger on PC. Additionally this project supports an USB keystroke demo mode. You can install the E909.06 as USB keyboard which throws individual keystrokes on each gesture event. Therefor additional getting started with e90906.docx Version 1.00 11/18

recommended as startup project if the gesture reference board with latch output for signal LEDs is used hardware with MAX3420 is needed. Table 1: The software application notes for E909.06 3.2 HALIOS library and source projects Note: The software from Mechaless Systems GmbH is well working software which is running in several applications since more than five years. Mechaless doesn t provide any certified software. So whenever the application notes are used for a product the target product manufacturer is responsible for the software inside E909.06. 3.2.1 Libraries The software form Mechaless usually includes pre compiled binary files (software libraries) for several software modules instead of complete source files. The intention of providing software libraries is to reduce the project complexity and to prevent for modifying of well working and proven firmware functions without notice from Mechaless. Table 2 lists the libraries which are used in the software application notes. lib_firmware API function to access SFR and USER space flash and restore parameters, store or restore the USER space and the parameters to and from flash provide API functions for the HALIOS measurement lib_spi_master provide SPI master function in E909.06, usually not used lib_haliostools filter API function for calibration, startup and calibration during runtime Provide auto calibration module which runs in background Level switch module lib_usb USB communication for HACo and Gesture Debugger Option to install the E909.06 as USB HID keyboard to throw keystrokes Option to install the E909.06 as USB HID mouse to control the mouse movement lib_haliosgestures API functions for gesture detection algorithms Table 2: The software libraries for E909.06 getting started with e90906.docx Version 1.00 12/18

3.2.2 Working with library source files For first time of evaluation you don t need the sources of the libraries. Going to mass production includes the certification of software in E909.06 including the software library files. To get the source files for the library you have to contact the Mechaless Systems GmbH. If requested Mechaless provides the source project for the firmware and the HaliosTools library files. USB is closed source as it isn t needed for mass production. If you need the source files for the gesture library you have to carry on negotiations with Mechaless about the source code or license for gesture software. 3.3 Elmos default software for E909.06 Since April 2015 Elmos provides universal software in E909.06 as default software which adapts to the needs of most customers for evaluation. The software contains a lot of available features and is scalable for GPIO behavior. The default software provides the following functions: Basic firmware for E909.06 I 2 C and SPI slave HALIOS tools, including software filter, auto calibration and the level switch module HALIOS default gestures based on the configuration for the e2_eval_board example configurable GPIO behavior Default configuration is I 2 C master and I 2 C slave. GPIOs are not controlled by default. Please refer to the description for the io_control module for information about to setup the GPIO behavior. Just note that you have to disable the SPI slave interface if you are going to use GPIO_4 to GPIO_7 for any function. There is no support for SPI-USB Bridge with MAX3420 in default software. For USB communication to HACo tool you can use the Mechaless Com-Board. getting started with e90906.docx Version 1.00 13/18

4 Develop a customized sensor application There are several ways to create your own customized sensor solution with E909.06. 4.1 Develop customized software for E909.06 CPU The E909.06 has an integrated CPU with 60 kb flash and 3 kb RAM. The CPU is uses the TI MSP 430 compiler and is fully code compatible to the MSP430 CPU. We recommend using IAR Embedded Workbench for TI MSP 430 as IDE for software development. Additionally we support the UEStudio06 with GCC compiler which is much cheaper during evaluation process. Just keep in mind that the in-circuit debug option is only available with IAR. For getting started you are free to use a software application note. The application notes provide preconfigured project files with code examples. 4.2 Using your own MCU and interface to E909.06 Sometimes it is indispensable or more easy and faster to write the application on another MCU and not in E909.06. In that case you can interface to E909.06 via I 2 C or SPI the usage of an interrupt pin is optional. Both ways of connection between any MCU and the E909.06 is illustrated in Figure 12. I 2 C MCU E909.06 INT optional SPI MCU E909.06 INT optional Figure 12: Interface options for E909.06 4.3 Create a Windows based application Another option to show the features of a HALIOS sensor application in a GUI on a Windows PC is to use the Gesture Debugger Template. The template is a preconfigured C# application based on the Microsoft.NET framework. The template includes DLLs which provide access to the E909.06 firmware via USB. You just need a Windows PC with the Microsoft Visual Studio and a USB connection to E909.06. Once you load the project you have entry points in the source code for each gesture event. Additionally you get an entry point where you get the sensor raw data via USB. The source code is free to customized modifications. getting started with e90906.docx Version 1.00 14/18

5 Update or flash software in E909.06 5.1 MAZ JTAG INTERFACE The E909.06 doesn t support a Bootloader. For software update we recommend the JTAG interface in E909.06 by using the MAZ JTAG INTERFACE via USB connection on PC. This tool is needed whenever you are developing software and use the in-circuit debug option with IAR. Figure 13: The MAZ JTAG USB INTERFACE Figure 14: The adapter for the MAZ JTAG USB INTERFACE It is possible to flash the software without an IDE just by using the command line tool el16_jtag.exe (Figure 15). Figure 15: Output of el16_jtag.exe command line tool Please refer to document iar_sw_supply.pdf for further information. You ll find the tools on the Mechaless web site: http://www.mechaless.com/download.html The MAZ JTAG INTERFACE has 20 pin to 14 pin connector which fits on the baseboard or on the Mechaless Com-Board. The Com-Board routes the JTAG signals via the red Micro Match connector and the 6 pin or 10 pin flex cable to E909.06. To order the MAZ JTAG INTERFACE you have to contact Elmos sales department. getting started with e90906.docx Version 1.00 15/18

5.2 Using the Mechaless Com-Board With the Com-Board it is possible to do a software update for E909.06 without using the MAZ JTAG INTERFACE. Therefore you need to connect the second USB plug on the Com-Board an install the driver for the VCOM interface: CP210x USB to UART Bridge VCP Drivers You can download the driver directly from the manufacturer: https://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx Once the driver is installed you start the MLS E909.06 flash tool. With that file you can choose an intel hex file and download it to E909.06. The Atmel MCU on the Com-Board emulates the JTAG interface for E909.06. Figure 16: The MLS flash tool getting started with e90906.docx Version 1.00 16/18

6 Order E909.06 for mass production If you are going to mass production you need software inside E909.06. In general you have three options to order E909.06: 1) order E909.06 with Elmos standard software a) request for the sources and certify the software by your own b) over write the software in E909.06 by using your own flash runner or something similar 2) order E909.06 with empty flash content over write the software in E909.06 by using your own flash runner or something similar 3) order E909.06 with customized hex file send your customized hex file to Elmos, their quality terms ensure the you get E909.06 devices with your customized hex file inside getting started with e90906.docx Version 1.00 17/18

7 Related documents Table 3 shows a summary of the most important available documents. Most of these documents are already above-mentioned. Document firmware_spec.pdf haliostools.pdf application_spec_address.pdf userguide_halios_default_gestures.pdf address_definition_io_control.pdf iar_sw_supply.pdf 25an0115e.00_909.06-flashing-via-jtag.pdf elmos_e90906_datasheet.pdf Table 3: Related documents Description E909.06 firmware specification file. Description of SFR I2C firmware protocol SPI firmware protocol Description of the HALIOS tools library and its functions Software filter Auto calibration Level switch module Summary of most relevant and important SFR and USER space addresses for sensor evaluation Summary of registers for the gesture detection Register definition and description for the io_control module Instruction guide to IAR Embedded Workbench for TI MSP430 with plug in for E909.06 Definition of flashing E909.06 via JTAG Datasheet for E909.06 device getting started with e90906.docx Version 1.00 18/18