Software Application Development. FT31xD Android Programmers Guide
|
|
|
- May Cook
- 10 years ago
- Views:
Transcription
1 Future Technology Devices International Ltd. Software Application Development FT31xD Android Programmers Guide Document Reference No.: FT_ Issue Date: Android programmers guide describes User APIs for Android open accessory development. The Android application is divided into two layer, User Layer and FT311D/FT312D layer. User layer is not aware of USB communication and calls the APIs exposed by the FT311D/FT312D layer. Future Technology Devices International Limited (FTDI) Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH United Kingdom Tel.: +44 (0) Fax: + 44 (0) (Support): [email protected] Web: Copyright 2013 Future Technology Devices International Limited
2 Table of Contents 1 Preface Acronyms and Abbreviations References Introduction Android Device FT311D FT312D Accessories FT311D/FT312D UART interface FT311D/FT312D UART-User Layer SetConfig SendData ReadData FT311D/FT312D FT311-UART Layer SetConfig SendData ReadData FT311D GPIO Interface FT311D GPIO-User Layer ConfigPort ReadPort WritePort ResetPort FT311D FT311-GPIO Layer ConfigPort ReadPort WritePort ResetPort FT311D PWM Interface FT311D PWM-User Layer SetPeriod SetDutyCycle Reset FT311D FT311-PWM Layer SetPeriod SetDutyCycle Reset FT311D I 2 C Master Interface FT311D I 2 C-User Layer SetFrequency ReadData WriteData Reset FT311D FT311-I2C Layer SetFrequency WriteData ReadData Reset FT311D SPI Slave Interface FT311D SPI Slave-User Layer SetConfig SendData ReadData Reset FT311D FT311-SPISlave Layer SetConfig SendData ReadData Reset FT311D SPI Master Interface Copyright Future Technology Devices International Limited 1
3 8.1 FT311D SPIMaster-User layer SetConfig SendData ReadData Reset FT311D FT311-SPIMaster Layer SetConfig SendData ReadData Reset Annex A : UART Annex B : GPIO Annex C : PWM Annex D : I2C Annex E : SPI Slave Annex F : SPI Master Appendix A List of Tables & Figures List of Tables List of Figures APPENDIX B - Contact Information Appendix C - Revision History Copyright Future Technology Devices International Limited 2
4 1 Preface The FT31xD interface is a proprietary interface for Android Open Accessory development. The FT311D IC provides UART/GPIO/PWM/I2C Master/SPI Slave/SPI Master interfaces for Android devices. The FT312D IC provides an enhanced UART interface for Android devices. Android applications can use these interfaces to communicate with their accessories. Any software code examples given in this document are for information only. The examples are not guaranteed and are not supported by FTDI. 1.1 Acronyms and Abbreviations Terms Description USB Universal Serial Bus FT311D FTDIChip's interface chip for Android Open Accessory development. FT312D FTDIChip's enhanced UART interface chip for Android Open Accessory development. Table 1.1 : Acronyms and Abbreviations 1.2 References FT311D datasheet FT312D datasheet Android Develpers, Copyright Future Technology Devices International Limited 3
5 2 Introduction FTDI provides the FT311D and FT312D interface chips for USB Android Open Accessory development. The FT311D provides UART/GPIO/PWM/I2C Master/SPI slave /SPI Master interfaces for Android devices to communicate with their accessories. The FT312D provides a UART interface for Android devices to communicate with their accessories. Android Device (2.3.4 or Higher) USB Device USB USB Host FT311D GPIO/UART/I2C/SPI/PWM Accessories (Robotic ARM, keypads, MCU etc) Figure 2.1 : Android Open Accessory Module with FT311D Android Device (2.3.4 or Higher) USB Device USB USB Host FT312D UART Accessories (Robotic ARM, keypads, MCU etc) Figure 2.2 : Android Open Accessory Module with FT312D Android Open Accessory development requires an Android Device with Android or higher and FTDI Chip s interface chip, FT311D/FT312D. Users can choose any one of the interfaces provided by FT311D to connect their accessories. This document will specify commands and data protocol for communication between Android Devices and the FT311D/FT312D chip. The Interface between FT311D/FT312D and Accessory follow the standard protocol of the selected Interface. Copyright Future Technology Devices International Limited 4
6 As both FT311D/FT312D are interface chips, most of the application control and behavior is implemented in Android device and accessory. 2.1 Android Device Android devices with Android 3.1 or higher version. This document and examples applies to Android 3.1 and above (the Android API changed from version to 3.1). The android application is launched based on the parameters like manufacturer, model and version defined in the AndroidManifest.xml file. For application development using FT311D/FT312D, Android applications are divided into two parts: Android FTDI FT31xD App <Interface>-User Layer FT311-<Interface> layer Figure 2.3 : Android FTDI FT31xD Application <Interface>-User layer: this layer is not aware of USB interface between Android Device and FT311D/FT312D. The FT311D provides GPIO, UART, PWM, I2C master, SPI slave and SPI Master interfaces. The FT312D provides UART interface. The Android developer will implement their application in this layer and call the functions implemented by FTDI in FT311-<Interface> layer, defined for each supported interface. For reference code, see the Annex for the respective interface. FT311-<Interface> layer: This layer implememts FT311<Interface>Interface class. This layer also implements the USB communication between Android device and FT311D/FT312D. The FT311<Interface>Interface class implements function for <Interface>-User layer to use. Using these functions <Interface>-User layer can talk to FT311D/FT312D. Here Interface could be one of GPIO/UART/PWM/I2C Master/SPI Slave/SPI Master. For communication protocol and data packet format see the sections below for each interface in FT311-<Interface> layer. Note: <Interface>-User layer and FT311-<Interface> layer are 2 java files. The 2 java files have to be compiled together to form the android package file. The different interfaces are selected based on the FT311D/FT312D device connected to the androidandroid device. During USB device enumeration the manufacturer, model and version strings are received from the FT311D/FT312D host device. The androidandroid device matches these strings with the AndroidManifest.xml file to launch the correct application. Each application will support only one interface. The application in the androidandroid device communicatecommunicates to the FT311D/FT312D device using command packets. 2.2 FT311D FT311D acts as USB Host for Android Device. FT311D provides GPIO/PWM/I2C Master/UART/SPI Slave/SPI Master interfaces to connect to accessories. 2.3 FT312D FT312D acts as USB Host for Android Device. FT312D provides a UART interface to connect to accessories. 2.4 Accessories Accessories connects on one of FT311D s GPIO/UART/I2C Master/PWM/SPI Slave/SPI Master interfaces. Accessories can connect on FT312D's UART interface. Accessories could be robotic controllers, keypads, touchpads MCUs etc. Copyright Future Technology Devices International Limited 5
7 3 FT311D/FT312D UART interface FT311D and FT312D provide a UART interface, with baud rates from 300 to The FT311D and FT312D UART transmits data in NRZ data format. FTDI Chip provides FT311UARTInterface class with SetConfig, ReadData, WriteData routines for UART operations and ResumeAccessory, DestroyAccessory for support functions to resume and destroy the accessory operations. For the use of the functions, please see Annex A. The method to add FT311UARTInterface.java into the project in Eclipse environment is: Copy the file into the src directory, e.g src\com\<package name>. Write click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311D/ FT312D App UART-User Layer FT311-UART layer USB FT311D/ FT312D UART UART Figure 3.1 : Android FTDI FT31xD UART Application 3.1 FT311D/FT312D UART-User Layer This section describes User APIs of FT311UARTInterface class SetConfig Android developers use SetConfig(int baudrate, byte databits, byte stopbits, byte parity,byte flowcontrol) function of FT311UARTInterface class to set baud rate, data bits, stop bits, parity and flow control of FT311D/FT312D UART interface. Note: The Android application must send this configuration before sending any application data. Public void SetConfig(int baudrate, byte databits, byte stopbits, byte parity,byte flowcontrol) baudrate: baud rate, min 300, max , default set to databits: data bits, 7: 7-bit databits, 8: 8-data bits, default 8-data bits. stopbits: stop bits, 1: 1-stop bits, 2: 2-stop bits, default is set to 1-stop bits. Parity: parity 0: none, 1:odd, 2:even,3:mark and 4:space. default is set to none. flowcontrol: flow control, 0: none, 1-cts/rts, default is set to none SendData Android developers use SendData(int numbytes, byte[] buffer) function of FT311UARTInterface class to send the data to FT311D/FT312D UART interface. Public void SendData(int numbytes, byte[] buffer). numbytes: number of bytes to transmit, maximum 256 per transfer. Buffer: pointer to data buffer ReadData Android developers use ReadData(int numbytes, byte[] buffer, int []actualnumbytes) function of FT311UARTInterface class to receive UART data. Public void ReadData(int numbytes, byte[] buffer, int []actualnumbytes). numbytes: number of bytes to read, MAX 256 per transfer. Buffer: pointer to buffer pointer. actualnumbytes: the actual number of bytes received. Copyright Future Technology Devices International Limited 6
8 3.2 FT311D/FT312D FT311-UART Layer FT311-UART layer implements FT311UARTInterface class. The Android user uses the functions of this class to control,configure UART interfaces. All functions with FT311D and FT312D are the same. The communication between Android device and FT311D/FT312D is done using the maximum 256 bytes long array of 8-bit data. uartdata Table 3.1: UART command format Name Length(byte) Description uartdata N array of N bytes to transfer. The data value. Table 3.2: UART command packet parameters SetConfig Public void SetConfig(int baudrate, byte databits, byte stopbits, byte parity, byte flowcontrol) The FT311-UART layer sends the 8-bytes of below packet for this command. The remaining bytes of uartdata are reserved for this command. The command packet values for this command are: Name Length Descriptions uartdata[0..3] 4 First 4 bytes holds the baud rate, in little endian format. uartdata[4] 1 Data bits. 7: for 7-bit data bits. 8: for 8-bit data bits. uartdata[5] 1 Number of stop bits. 1: 1- stop bits 2: 2- stop bits. uartdata[6] 1 Parity. 0: none. 1: odd 2: even. 3: mark 4: space uartdata[7] 1 Flow control. 0: none 1: hardware (CTS/RTS) Table 3.3: UART SetConfig command parameters SendData Public void SendData(int numbytes, byte [] buffer) Android FT311-UART layer uses this command packet to send data using FT311D/FT312D UART interface. Command details are given below: Name Length(byte) Description uartdata N Data to be send. Array of N bytes to be transmitted, maximum 256 bytes. Table 3.4: UART SendData command parameters ReadData Public void ReadData(int numbytes, byte[] buffer, int []actualnumbytes) Copyright Future Technology Devices International Limited 7
9 FT311D/FT312D sends the received data on its UART interface to Android FT311-UART layer in the below packet format. Read Data details are given below: Name Length(byte) Values uartdata N UART data received on the UART interface, maximum 256 bytes. Table 3.5: UART ReadData command parameters Copyright Future Technology Devices International Limited 8
10 4 FT311D GPIO Interface FT311D provides 7 GPIOs, that can be configured as input or output. The GPIOs are internally pulled up. By default the IOs are configured as Inputs. FTDI Chip provides FT311GPIOInterface class with ReadPort, WritePort, ConfigPort, ResetPort methods for port operations and ResumeAccessory, DestroyAccessory for support functions to resume and destroy the accessory operations. For the use of the functions, see Annex B. The Android application needs to include FT311GPIOInterface.java file into the project and call the above mentioned class functions to configure, read port, write port and reset port. The method to add FT311GPIOInterface.java into the project in Eclipse environment is: Copy the file into the src directory, e.g src\com\<package name>. Write click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311 App GPIO-User Layer FT311-GPIO layer USB FT311D GPIO GPIO Figure 4.1 : Android FTDI FT311D GPIO Application 4.1 FT311D GPIO-User Layer This section describes the User Interface APIs available for GPIO Interface to control, read, write GPIOs. The below listed functions are implemented in FT311-GPIO Interface layer ConfigPort Android developer calls the ConfigPort(byte configoutmap, byte configinmap) to configure the FT311D GPIO pins as input or output. Public void ConfigPort(byte configoutmap, byte configinmap). configoutmap: the bits set in this bitmap will be configured as output, bit 0 configuring GPIO0 and so on. configinmap: the bits in this map will be configured as Input, bit 0 configuring GPIO0 and so on. If there is an overlap of input and output bitmap, input bitmap takes precedance ReadPort Android developer uses ReadPort() routine of FT311GPIOInterface class to read the FT311D input ports. Public byte ReadPort(). Return value is current level on input signals WritePort Android developer uses WritePort(byte outdata) function of FT311GPIOInterface class to write FT311D output ports. The output configured ports will only be driven. Public void WritePort(byte outdata). outdata: the bitmap of output port data, bit 0 corrosponds to GPIO ResetPort Android developer uses ResetPort() function of FT311GPIOInterface class to reset GPIO interface. This command will set all the IOs into input mode. Public void ResetPort(). Copyright Future Technology Devices International Limited 9
11 4.2 FT311D FT311-GPIO Layer This layer implements the FT311GPIOInterface class. This class implements User Interface APIs and communicates with the FT311D using USB. FT311-GPIO Interface converts read, write, reset and config port commands into 4 bytes packet format to communicate with FT311D. The first byte, gpiocmd, in the table should be transferred first, and so on. gpiocmd rdwrdata outmap inmap Table 4.1: GPIO command packet format Name Length (bytes) Description gpiocmd 1 GPIO command(configure/ read/write) rdwrdata 1 Read/write data outmap 1 OUTPUT bitmap of port bits, the bits set in this bitmap will be configured as output. inmap 1 INPUT bitmap of port bits, the bits set in this bitmap will be configure as input. Table 4.2: GPIO command packet parameters ConfigPort Public void ConfigPort(byte outmap, byte inmap). Android FT311-GPIO layer sends the below packet to configure the GPIOs. By default the GPIOs are configured as inputs with internally pulled up. The packet for ConfgPort is as below: Name Length (bytes) Values gpiocmd 1 0x11 rdwrdata 1 0x00, reserved, not used for this command. outmap 1 Bitmap of output port IOs, set bits will be configured as output. inmap 1 Bitmap of input port IOs, set bits will be configured as INPUT. Table 4.3: GPIO ConfigPort command parameters ReadPort Public byte ReadPort(). FT311D sends the port data to Android layer, whenever there is a change in the signal levels on input ports. Note: this data packet is from FT311D to Android, not from FT311-GPIO layer to FT311D. The packet format for this command is as below: Name Length (bytes) Values gpiocmd 1 0x12 rdwrdata 1 GPIO status outmap 1 0x00 reserved inmap 1 0x00, reserved Table 4.4: GPIO ReadPort command parameters Note: Only input pins are read WritePort Public void WritePort(byte outdata). Android FT311-GPIO Layer sends the below packet for a WritePort command. The Android GPIO Write command packet fields are as follows: Name Length (bytes) Values gpiocmd 1 0x13 rdwrdata 1 GPIO data Copyright Future Technology Devices International Limited 10
12 outmap 1 0x00, reserved for this command inmap 1 0x00, reserved for this command. Table 4.5: GPIO WritePort command parameters Note: Only output pins are written with the value in rdwrdata ResetPort Public void ResetPort(). Android FT311-GPIO layer sends the below 4 byte packet to reset the GPIO interface of the FT311D GPIO. This command resets the GPIO module, and configures all GPIOs as inputs. Name Length(bytes) Values gpiocmd 1 0x14 rdwrdata 1 0x00, reserved for this command. inmap 1 0x00, reserved for this command. outmap 1 0x00, reserved for this command. Table 4.6: GPIO ResetPort command parameters Copyright Future Technology Devices International Limited 11
13 5 FT311D PWM Interface FT311D provides 4 PWM channels, pwm0..pwm3. All PWM channels have the same frequency (period). Android applications can specify the frequency of all 4 channels with different duty cycles. FTDI Chip provides FT311PWMInterface class with SetPeriod, SetDutyCycle and Reset methods for PWM operations and ResumeAccessory, DestroyAccessory for support functions to resume and destroy the accessory operations. For the use of the functions, please see Annex C. The Android application needs to include FT311PWMInterface.java file into the project and call the above mentioned class functions to set period, duty cycle and reset. The method to add FT311PWMInterface.java into the project in Eclipse environment is: Copy the file into the src directory, e.g src\com\<package name>. Write click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311 App PWM-User Layer FT311-PWM layer USB FT311D PWM PWM Figure 5.1 : Android FTDI FT311D PWM Application 5.1 FT311D PWM-User Layer This section describes the methods of FT311PWMInterface class to be used in User Application layer SetPeriod Android developer uses SetPeriod(int period) function of FT311PWMInterface class to set the period of all PWM channels. Public void SetPeriod(int period); Function to set the period of PWM channels. period: period in milliseconds , MAX 250 msecs, Minimum 1 msec SetDutyCycle Android developer uses SetDutyCycle(byte pwmchannel, byte dutycycle) function of FT311PWMInterface Class to set the duty cycle of the pwm channel. Public void SetDutyCycle(byte pwmchannel, byte dutycycle): function to set the duty cycle of specified pwm channel. pwmchannel: channel number, should be between 0..3 dutycycle: the percentage value of the duty cycle,e.g. to set 50% duty cycle, specify this value as 50. Minimum 5% and Maximum 95% Reset FT311PWMInterface class provides Reset() function for Android user to Reset the PWM interface. This function brings the PWM interface to its default state. In the default state, the period is 1msec, and the duty cyle of all the channels is 0. Public void Reset(). 5.2 FT311D FT311-PWM Layer This layer implements the User API for PWM-User interface. FT311PWMInterface class uses the below 4 byte packet format to communicate with FT311D The data is send in the order listed in the table 4.1. For fields of more than one byte, LSB should be sent first. pwmcmd pwmnumber cmddata Table 5.1: PWM command packet format Copyright Future Technology Devices International Limited 12
14 Name Length(bytes) Description pwmcmd 1 PWM command. set period, set duty cycle. pwmnumber 1 PWM channel number. cmddata 2 Command Data, depends on type of the command. Table 5.2: PWM command packet parameters SetPeriod Public void SetPeriod(int period). Android FT311-PWM layer sends the SetPeriod packet to set the period of all channels. The period will be same for all channels. For PWM set period, the PWM packet fields are described below: Name Length(bytes) Description pwmcmd 1 0x21 pwmnumber 1 0x00, reserved for this command packet cmddata 2 Period in milliseconds, MAX 250 and minimum 1 milliseconds. Table 5.3: PWM SetPeriod command parameters SetDutyCycle Public void SetDutyCycle(byte pwmchannel, byte dutycycle). Android FT311-PWM layer sends SetDutyCycle packet to set the duty cycle of individual channels. Before this command, period for the PWMs should be set. For PWM set duty cycle, the PWM packet fields are described below: Name Length(bytes) Description pwmcmd 1 0x22 pwmnumber 1 Pwm channel number, should be from cmddata 2 Duty cycle in numerical percentage(%) number.e.g to set 50% duty, set this value to 50. Minimum 5%, max 95 %. Table 5.4: PWM SetDutyCycle command parameters Reset Public void Reset(). Android FT311-PWM layer sends this command to reset the PWM module into default state, i.e. set the period to 1 msecms and set the duty cycle of all channels to zero. The command packet for this command is as follows: Name Length(bytes) Description pwmcmd 1 0x23 pwmnumber 1 0x00, reserved for this command. cmddata 2 0x00, reserved for this command. Table 5.5: PWM Reset command parameters Copyright Future Technology Devices International Limited 13
15 6 FT311D I 2 C Master Interface FT311D provides I 2 C master interface, running Max 92 Khz. FT311D does not provide I 2 C slave functionality. Note: FT311D I 2 C master does not support clock stretching, or multi-master support. FTDI Chip provides FT311I2CInterface class with Reset, SetFrequency, ReadData and WriteData routines for I 2 C operations and ResumeAccessory, DestroyAccessory for support functions to resume and destroy the accessory operations. For the use of the functions, please see Annex D The Android application needs to include FT311I2CInterface.java file into the project. The method to add FT311I2CInterface.java into the project in Eclipse environment is: Copy the file into their src directory, e.g src\com\<package name>. Right click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311 App I2C-User Layer FT311-I2C layer USB FT311D I2C Master I2C Figure 6.1 : Android FTDI FT311D I 2 C Master Application 6.1 FT311D I 2 C-User Layer This section describes the User APIs of FT311I2CInterface class to control, read,and write I²C bus SetFrequency FT311D provides a set of values in units of KHz for I 2 C frequency. The user has to call SetFrequency(byte freq) function of FT311I2CInterface class to set the frequency of I 2 C interface. By default it s set to 92Khz. Public void SetFrequency(byte freq). Freq: frequency in units of KHz. The supported values are: 23,44,60, ReadData Android developer uses ReadData(byte i2cdeviceaddress, byte transferoptions, byte numbytes,byte[] buffer, byte []actualbytes) function to read data. Public byte ReadData(byte i2cdeviceaddress, byte transferoptions,byte numbytes,byte[] buffer,byte []actualbytes) I2cDeviceAddress: 7-bits address of I 2 C device. transferoptions: specifies the data transfer options. The bit position defined for each of the options are, BIT0: if set then a start condition is generated in the I 2 C bus before the transfer begins. A bit mask is defined for this option in file I2CDemoActivity.java as boption.start_bit BIT1: if set then a stop condition is generated in the I 2 C bus after the transfer ends. A bit mask is defined for this option in file I2CDemoActivity.java as boption.stop_bit BIT2: some I 2 C slaves require the I 2 C master to generate a NAK for the last data byte read. Setting this bit enables working with such I 2 C slaves. A bit mask is defined for this options in file I2CDemoActivity.java as boption.nack_last_byte BIT3: the deviceaddress parameter is ignored if this bit is set. This feature may be useful in generating a special I 2 C bus conditions that do not require any address to be passed. A bit mask is defined for this options in file I2CDemoActivity.java as boption.no_device_address Bit4-7: Reserved numbytes: number of bytes to read, maximum 252 bytes per transaction. buffer: an array of bytes. actualbytes: the number of actual bytes read. Copyright Future Technology Devices International Limited 14
16 The return value is a 8-bit bitmap of status, as described below: Bit Value/description 0 command status. 1: error, general error 0: command passed. 1 1: nack, device can not accept any more data. 2 1: invalid address Reserved for future use. Table 6.1: I 2 C Read return status This command will complete with one of the following status bits: Bit 0: set or cleared. Bit 2: set, invalid device address WriteData Android Developers use WriteData(byte i2cdeviceaddress,byte transferoptions,byte numbytes, byte[] buffer, byte [] actualnumbytes) function to write the I 2 C data to slave. Public byte WriteData(byte i2cdeviceaddress, byte transferoptions, byte numbytes, byte [] buffer,byte [] actualnumbytes). I2cDeviceAddress: 7-bit device address transferoptions: specifies the data transfer options.the bit position defined for each of the options are, BIT0: if set then a start condition is generated in the I 2 C bus before the transfer begins. A bit mask is defined for this options in file I2CDemoActivity.java as boption.start_bit BIT1: if set then a stop condition is generated in the I 2 C bus after the transfer ends. A bit mask is defined for this options in file I2CDemoActivity.java as boption.stop_bit BIT2: Reserved BIT3: the deviceaddress parameter is ignored if this bit is set. This feature may be useful in generating a special I 2 C bus conditions that do not require any address to be passed. A bit mask is defined for this options in file I2CDemoActivity.java as boption.no_device_address Bit4-7: Reserved numbytes: number of bytes to write,maximum 252 bytes per transfer. buffer: array of bytes to data. actualnumbytes: actual number of bytes send. Returns value is a bitmap of 8-bits as below: Bit Value/description 0 command status. 1: error, general error 0: command passed. 1 1: nack, device can not accept any more data. 2 1: inavlid address Reserved for future use. Table 6.2: I 2 C Write return status The command can complete with: Bit 0: set or clear. Bit 1: set or clear, if set, check the actual length parameter to check the written bytes. Bit 2: Invalid address bit 2 set Reset Android developers use Reset() function of FT311I2CInterface class to reset the interface. This function will set the I 2 C interface to default state, 92 KHZ frequency. Public void Reset(). 6.2 FT311D FT311-I2C Layer This layer implements the I²C-User layer functions in FT311I2CInterface class. FT311I2CInterface class uses 5 bytes command packet to communicate with I 2 C slave. The packet bytes are sent in the order listed in table 5.3, first column byte goes first and so on. i2ccmd i2ccmddata0 I2cCmdData1 i2cdatalength i2cdata Copyright Future Technology Devices International Limited 15
17 Table 6.3: I 2 C command packet format Name Length(bytes) Description i2ccmd 1 I 2 C command; read, write, set frequency, reset. i2ccmddata0 1 I 2 C command specific data0. i2ccmddata1 1 I 2 C command specific data1. i2cdatalength 1 The number of read/write bytes, maximum per command packet 252 bytes. i2cdata N Array of data bytes, maximum N is 252 bytes per transfer. Table 6.4: I 2 C command packet parameters SetFrequency Public void SetFrequency(byte freq). Android FT311-I2C interface class, sends the below packet format for this command: Name Length(bytes) Values i2ccmd 1 0x31 i2ccmddata0 1 Frequency value, in KHz units of freq. Possible values are 23,44, 60 and 92. I2cCmdData1 1 0x00, reserved for this command. i2cdatalength 1 0x00, reserved not used for this command. i2cdata 1 0x00, reserved not used for this command. Table 6.5: I 2 C SetFrequency command parameters WriteData Public byte WriteData(byte i2cdeviceaddress, byte address, byte numbytes, byte [] buffer,byte []actualnumbytes). Android FT311-I2C layer sends the below packet for this command. The command values are : Name Length(bytes) Values i2ccmd 1 0x32 i2ccmddata0 1 I 2 C device address, 7-bit. I2cCmdData1 1 Data transfer options. i2cdatalength 1 n,length of the data to be transferred, Max value of n per transfer is 252 bytes. i2ccmddata N Array of n bytes that Android wants to write.max data length is 252 bytes. Table 6.6: I 2 C WriteData command parameters FT311D sends to Android FT311-I2C layer the below response after completion of this command. Name Length(bytes) Values i2ccmd 1 0x32 i2ccmddata0 1 Status. I2cCmdData1 1 0x00, reserved i2cdatalength 1 Actual data bytes written, max 252 bytes. Table 6.7: I 2 C WriteData response parameters Status byte for the WriteData command is: Bit Value/description 0 This bit is only effective if Bit 0 is cleared. 1: error, general error 0: command passed. 1 1:nack, device can not accept any more data. 2 1:inavlid address Reserved for future use. Table 6.8: I 2 C WriteData return status ReadData Public byte ReadData(byte i2cdeviceaddress, byte address, byte numbytes, byte [] buffer,byte []actualnumbytes). Copyright Future Technology Devices International Limited 16
18 Android FT311-I²C layer sends the below packet to FT311D for this command. The command values are: Name Length(bytes) Values i2ccmd 1 0x33 i2ccmddata0 1 I 2 C device address i2ccmddata1 1 Data transfer options. i2cdatalength 1 n, Length of the data to be read, maximum 252 bytes per transfer. Table 6.9: I 2 C ReadData command parameters FT311D sends read data back to Android device FT311-I²C layer in the below format. Name Length(byte) Values i2ccmd 1 0x33 I2cCmdData0 1 Status. I2cCmdData1 1 0x00, reserved i2cdatalength 1 Length of the read data, max 252 bytes I2cData N Array of N bytes, N max is 252 Table 6.10: I 2 C ReadData response parameters Status byte for ReadData command is: Bit Value/description 0 command status: 1: error, general error 0: command passed. 1 1: nack, device can not accept any more data. 2 1: invalid address Reserved for future use. Table 6.11: I 2 C ReadData return status Reset Public void Reset() Android FT311-I²C layer creates the below packet for this command. Name Length(byte) Values I2cCmd 1 0x34 I2cCmdData0 1 0x00, reserved I2cCmdData1 1 0x00, reserved I2cDataLength 1 0x00, reserved I2cdata 1 0x00, reserved. Table 6.12: I 2 C Reset command parameters Copyright Future Technology Devices International Limited 17
19 7 FT311D SPI Slave Interface FT311D provides a SPI slave interface with supported clock rates of upto 24MHz. SPI slave will transfer data in MSBit/LSBit of byte based on the configuration. FTDI Chip provides FT311SPISlaveInterface class with SetConfig, SendData, ReadData, Reset routines for SPI Slave operations and ResumeAccessory, DestroyAccessory for support functions to resume and destroy the accessory operations. For the use of the functions, please see Annex E. The Android application needs to include FT311SPISlaveInterface.java file into the project and call the FT311SPISlaveInterface functions. The method to add FT311SPISlaveInterface.java into the project in Eclipse environment is: Copy the file into the src directory, e.g src\com\<package name>. Write click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311 App SPISlave-User Layer FT311-SPISlave layer USB FT311D SPI Slave SPI Figure 7.1 : Android FTDI FT311D SPI Slave Application 7.1 FT311D SPI Slave-User Layer This layer uses the User functions of FT311-SPISlave layer to configure, read, and write SPI slave interface SetConfig Android developers use SetConfig(byte clockphase, byte dataorder) function of FT311SPISlaveInterface class to config clock phase and data order of the SPI slave. Public void SetConfig(byte clockphase, byte dataorder). clockphase: Clock phase variable values for different modes, default is set to mode 1. 0: CPOL=0, CPHA=0. 1: CPOL=0, CPHA=1.(default) 2: CPOL=1, CPHA=0. 3: CPOL=1, CPHA=1. dataorder: order of data on the SPI bus 0: MSB 1: LSB SendData Android developers use SendData(byte numbytes, byte[] buffer, byte[] actualnumbytes) of FT311SPISlaveInterface class to send data to the SPI master. Public byte SendData(byte numbytes, byte[] buffer, byte []actualnumbytes). numbyte: number of bytes to transfer, maximum 255 per transfer. buffer: array of buffer. actualnumbytes : actual number of bytes send Note: The SPI transactions are host initiated, so once this command is initiated by the SPI slave, the data is queued for the SPI host to read. If the SPI host did not issue read/write, the data will stay in queue and the SPI slave can not queue anymore data. Copyright Future Technology Devices International Limited 18
20 7.1.3 ReadData Android developers use ReadData(byte numbytes, byte [] buffer, byte []actualnumbytes) function of FT311SPISlaveInterface class to Read data. Public byte ReadData(byte numbytes, byte [] buffer, byte []actualnumbytes). numbytes: number of bytes to read. buffer: array of length of numbytes. actualnumbytes: actual number of bytes read, max 255 bytes Reset Android developers use Reset() function of FT311SPISlaveInterface to reset the SPI slave interface of the FT311D. The default setting sets the clock phase and polarity to mode 1. Public void Reset(). 7.2 FT311D FT311-SPISlave Layer Android FT311-SPISlave layer implements FT311SPISlaveInterface class. The function implemented in this class are used by SPISlave-User layer to communicate with FT311D The communication between Android device and FT311D is done using the below defined packet format. spicmd Table 7.1: SPI Slave command format spidata Name Lentgh (bytes) Description spicmd 1 FT311D communication protocol command. spidata[n] N An array of 8-bits to hold read/write SPI data.value of N should be less than or equal 255 bytes Table 7.2: SPI Slave command packet parameters SetConfig Public void SetConfig(byte clockphase, byte dataorder). The Android FT311-SPISlave layer uses this command to set clock polarity and phase of FT311D SPI slave Interface. The command packet values are provided below: Name Length(bytes) Values spicmd 1 0x51 spidata 1 Clock phase. 0: CPOL=0, CPHA=0. 1: CPOL=0, CPHA=1. default 2: CPOL=1, CPHA=0. 3: CPOL=1, CPHA=1. spidataorder 1 Data order on the SPI bus 0: MSB 1: LSB Table 7.3: SPI Slave SetConfig command parameters SendData Public byte SendData(byte numbytes, byte[] buffer, byte []actualnumbytes). The Android device can schedule data to be sent to the SPI Master, eventually the SPI Master has to initiate a read command to read this data. Android FT311-SPISlave layer creates the below packet to transmit the SPI data. Name Length(byte) Values spicmd 1 0x52 spidata[n] N Array of N bytes, specified by numbytes. Maximum length is 255 bytes. Table 7.4: SPI Slave SendData command parameters Copyright Future Technology Devices International Limited 19
21 FT311D sends the below command back to Android FT311-SPISlave layer in response to this command. Name Length(byte) Values spicmd 1 0x52 spidatalength 1 Length of send data bytes Table 7.5: SPI Slave response parameters ReadData FT311D will send the received data from SPI Master to Android application s FT311-SPISlave layer. SPISlave-User layer can read this data with ReadData command as described in section FT311D sends the data to Android FT311-SPISlave layer in below mentioned format: Name Length(byte) Value spicmd 1 0x53 spidata[n] N Array of N bytes send by SPI Master, maximum length is 255. Table 7.6: SPI Slave ReadData command parameters Reset Android FT311-SPISlave class uses this function to reset the SPI Slave into default state. The one byte packet for this command is as below: Name Length(byte) Values spicmd 1 0x54 Table 7.7: SPI Slave Reset command parameters Copyright Future Technology Devices International Limited 20
22 8 FT311D SPI Master Interface FT311D provides a SPI master supporting max clock rate of 24 Mhz. FT311D s SPI master will transfer data in MSBit/LSBit of byte based on the configuration. FTDIChip provides FT311SPIMasterInterface class with SetConfig, SendData, ReadData and Reset routines for SPI Master operations and ResumeAccessory, DestroyAccessory for Android support. For the use of the functions, please see Annex F. The Android Application needs to include FT311SPIMasterInterface.java file into the project and call the FT311SPIMasterInterface functions. The method to add FT311SPIMasterInterface.java into the project in Eclipse environment is: Copy the file into the src directory, e.g src\com\<package name>. Write click on the project name in eclipse package explore, then select new->file->src->com-> package name ->advanced->link to the file. Android FTDI FT311 App SPIMaster-User Layer FT311-SPIMaster layer USB FT311D SPI Master SPI Figure 8.1 : Android FTDI FT311D SPI Master Application 8.1 FT311D SPIMaster-User layer This layer uses the functions of FT311-SPIMaster layer, implemented in FT311SPIMasterInterface.java file, to configure SPI interface, read, write SPI data SetConfig Android developers use SetConfig(byte clockphase, byte dataorder, int clockspeed) function of FT311SPIMasterInterface class to configure clock phase, data order and clock speed of SPI Master interface. Public void SetConfig(byte clockphase,byte dataorder, int clockspeed). clockphase: Clock phase and polarity of SPI master interface, default is set to mode 1. 0: CPOL=0, CPHA=0 (mode 0). 1: CPOL=0, CPHA=1 (mode 1). 2: CPOL=1, CPHA=0 (mode 2). 3: CPOL=1, CPHA=1 (mode 3). dataorder: data oder on the SPI bus 0: MSB 1:LSB clockspeed:frequency of SPI interface. Defaut is set to 3 MHz and maximum is 24Mhz SendData Android developers use SendData(byte numbytes, byte[] buffer, byte []numbytessend) function of FT311SPIMasterInterface class to send the data to SPI slave. SPI master sends data in MSBit/LSBit first format. public byte SendData(byte numbytes, byte [] buffer, byte [] numbytessend). numbytes: number of bytes to send. maximum is 255. buffer: pointer to data to transmit. numbytessend: the actual bytes send ReadData Android developers use ReadData(byte numbytes, byte[] buffer, byte [] numbytesread) function of FT311SPIMasterInterface class to read SPI data. The buffer values are set to 0xff for SPI Master Read operation. Public byte ReadData(byte numbytes, byte[] buffer, byte [] numbytesread). Copyright Future Technology Devices International Limited 21
23 numbytes: number of bytes to read. Maximum value is 255. Buffer: pointer to buffer to read data into. numbytesread: actual number of bytes read Reset Android developers use Reset() function of FT311SPIMasterInterface class to reset the SPI Master interface. It resets the SPI interface to default state, i.e SPI clock frequency of 3Mhz, clock and phase to mode 1 and data order to MSB. Public void Reset(void). 8.2 FT311D FT311-SPIMaster Layer This layer implements FT311SPIMasterInterface class. The functions use a Maximum 256 byte long packet format to communicate with FT311D. The format of Packet is described below for each command. Table 8.1 The packet for SPI master to communicate with FT311D spicmd Table 8.1: SPI Master command format spidata Name Length Description spicmd 1 SPI command identifier. spidata N SPI master command data. Maximum length is 255. Table 8.2: SPI Master command packet parameters SetConfig Public void SetConfig(byte clockphase, byte dataorder, int clockspeed). Android FT311-SPIMaster layer sends the 4 bytes packet format for this command. The command packet for this command is as follows: Name Length Description spicmd 1 0x61 spidata[0] 1 clockphase, the clock phase and polarity value to configure SPI master. 0: CPOL=0, CPHA=0 (mode 0). 1: CPOL=0, CPHA=1 (mode 1). 2: CPOL=1, CPHA=0 (mode 2). 3: CPOL=1, CPHA=1 (mode 3). spidata[1] 1 Data order on the SPI bus 0: MSB 1: LSB spidata[2..5] 4 clockspeed, The baud rate in little endian format. Max is 24Mhz, default is set to 3 Mhz Table 8.3: SPI Master Setconfig command parameters SendData Public byte SendData(byte numbytes, byte [] buffer, byte [] numbytessend). Android FT311-SPIMaster layer sends the below packet format for this comamnd. Name Length Description spicmd 1 0x62, command identifier for SPI master Send Data. spidata[n] numbytes The pointer to buffer to send. The buffer length can not be more than 255. Table 8.4: SPI Master SendData command parameters In response to this command, the FT311D sends the below packet to the Android FT311-SPIMaster layer: Name Lentgh Description spicmd 1 0x62 spidata[n] numbytes The data read while sending the data Copyright Future Technology Devices International Limited 22
24 Table 8.5: SPI Master SendData response parameters to SPI slave ReadData Public byte ReadData(byte numbytes,byte [] buffer, byte []numbytesread). Android FT311-SPIMaster layer sends the 2 byte long packet for this command. The command packet for ReadData is as follows: Name Length Description spicmd 1 0x63 spidata[n] numbytes numbytes long buffer, with values set to 0xff. The max value of numbytes should be less than or equal to 255. Table 8.6: SPI Master ReadData command parameters In response to this command, the FT311D sends the read data to FT311-SPIMaster layer. The FT311D uses the below packet to send the read data to Android: Name Length Description spicmd 1 0x63 spidata[n] numbytes numbytes long buffer pointer with values read from SPI slave. The maximum value of numbytes should be less than or equal to 255. Table 8.7: SPI Master ReadData response parameters Reset Public void Reset(). This command will reset the SPI master interface into default state, i.e clock frequency of 3Mhz, clock phase and polarity to mode 1 and data order to MSB. The Android FT311-SPIMaster layer sends 1 packet for this command. Name Length Description spicmd 1 0x64 Table 8.8: SPI Master Reset command parameters Copyright Future Technology Devices International Limited 23
25 9 Annex A : UART /* configure the UART */ configbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub configbutton.setbackgroundresource(drawable.start); uartinterface.setconfig(baudrate, databit, stopbit, parity, flowcontrol); ); /* read data */ public void run() while(true) Message msg = mhandler.obtainmessage(); try Thread.sleep(50); catch(interruptedexception e) status = uartinterface.readdata((byte)64, readbuffer, actualnumbytes); mhandler.sendmessage(msg); /*write data*/ writebutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub writebutton.setbackgroundresource(drawable.start); if(writetext.length()!= 0x00) numbytes = (byte)writetext.length(); for(count=0;count<numbytes;count++) writebuffer[count] = writetext.gettext().charat(count); status = uartinterface.senddata(numbytes, writebuffer); ); Copyright Future Technology Devices International Limited 24
26 10 Annex B : GPIO /*user code to configure port data*/ configbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub configbutton.setbackgroundresource(drawable.start); togglebutton0.setchecked(false); togglebutton1.setchecked(false); togglebutton2.setchecked(false); togglebutton3.setchecked(false); togglebutton4.setchecked(false); togglebutton5.setchecked(false); togglebutton6.setchecked(false); outdata &= ~outmap; writedata.settext("0x" + Integer.toHexString(outData & 0xff)); gpiointerface.configport(outmap, inmap); ); /*user code to read the accessory data*/ readbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub readbutton.setbackgroundresource(drawable.start); indata = gpiointerface.readport(); ProcessReadData(inData); ); /*user code to write port*/ writebutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub writebutton.setbackgroundresource(drawable.start); /*send only the output mapped data*/ outdata &= outmap; writedata.settext("0x" + Integer.toHexString(outData & 0xff)); gpiointerface.writeport(outdata); ); Copyright Future Technology Devices International Limited 25
27 11 Annex C : PWM /* set the period */ periodbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub periodbutton.setbackgroundresource(drawable.start); /*read the period value*/ if(periodvalue.length() == 0x00) periodvalue.settext("1"); period = Integer.parseInt(periodValue.getText().toString()); /*take care of zero*/ if(period == 0x00) period = 1; periodvalue.settext("1"); pwminterface.setperiod(period); ); /* set duty cycle */ public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) // TODO Auto-generated method stub dutycycle = (byte)progress; dutycycle1value.settext(integer.tostring(progress));; pwminterface.setdutycycle((byte)1,dutycycle); Copyright Future Technology Devices International Limited 26
28 12 Annex D : I2C /*Set the frequency*/ freqbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub /*read the bytes from the write box*/ if(freqtext.length()!= 0) deviceaddress = (byte) Integer.parseInt(freqText.getText().toString()); else deviceaddress = 92; /*default*/ ); freqtext.settext(integer.tostring(deviceaddress)); i2cinterface.setfrequency(deviceaddress); /*read data from the I2C slave */ readbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub readbutton.setbackgroundresource(drawable.start); /*for every read, clear the previous read*/ readtext.settext(""); status = 0x00; /*do the sanity checks*/ /*device address?*/ if(deviceaddresstext.length() == 0) status = 0x4; /*address to read from*/ if(addresstext.length() == 0) status = 0x04; /*if all good, then only proceed to read*/ if(status == 0x00) deviceaddress = (byte) Integer.parseInt(deviceAddressText.getText().toString()); numbytes = (byte)integer.parseint(numbytestext.gettext().tostring()); address = (byte)integer.parseint(addresstext.gettext().tostring()); /*blocking call*/ byte transferoptions; transferoptions = boption.start_bit; bytecount = 0; writebuffer[bytecount++] = address; /* write the address first without stop condition */ status = i2cinterface.writedata(deviceaddress, transferoptions, bytecount, writebuffer, actualnumbytes); Copyright Future Technology Devices International Limited 27
29 /*read the bytes from the text box*/ transferoptions=(boption.start_bit boption.stop_bit boption.nack_last_byte); status = i2cinterface.readdata(deviceaddress, transferoptions, numbytes, readbuffer, actualnumbytes); /*for(count = 0;count<(actualNumBytes[0]-1);count++) readtext.append(integer.tostring(readbuffer[count])); readtext.append(","); readtext.append(integer.tostring(readbuffer[count]));*/ char [] displayreadbuffer; displayreadbuffer = new char[60]; int displayactualnumbytes; displayactualnumbytes = actualnumbytes[0]; for(count = 0;count<(actualNumBytes[0]);count++) displayreadbuffer[count] = (char)readbuffer[count]; readtext.append(string.copyvalueof(displayreadbuffer,0, displayactualnumbytes)); ); statustext.settext("0x"+integer.tohexstring(status)); /* write data to I2C slave device */ writebutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub writebutton.setbackgroundresource(drawable.start); /*by default, status is good*/ status = 0x00; /*do the sanity checks for required values*/ /*device address needed??*/ if(writedeviceaddresstext.length() == 0) status = 0x4; /*the write values have to be specified*/ if(writetext.length() == 0) status = 1; /*general error*/ /*also need the address to write to*/ if(writeaddresstext.length() == 0) status = 0x04; /*if all good??/* if(status == 0x00) /*read the bytes from the write box*/ deviceaddress = (byte) Integer.parseInt(writeDeviceAddressText.getText().toString()); numbytes = (byte) writetext.length(); address = (byte)integer.parseint(writeaddresstext.gettext().tostring()); Copyright Future Technology Devices International Limited 28
30 ); /*parse the string*/ bytecount = 0; tempcount = 0; /* insert 1 byte address at the start, add 1 address byte*/ writebuffer[bytecount++] = address; bytecount += (byte)writetext.length(); for(count=0;count<numbytes;count++) writebuffer[count+1] = (byte)writetext.gettext().charat(count); /* subtract 1 for the address byte */ writenumbytestext.settext(integer.tostring(bytecount-1)); /*blocking call*/ byte transferoptions; transferoptions = (boption.start_bit boption.stop_bit); status = i2cinterface.writedata(deviceaddress, transferoptions, bytecount, writebuffer, actualnumbytes); writestatustext.settext("0x"+integer.tohexstring(status)); Copyright Future Technology Devices International Limited 29
31 13 Annex E : SPI Slave /*config SPI Slave interface */ configbutton.setonclicklistener(new public void onclick(view v) configbutton.setbackgroundresource(drawable.start); clockphasemode = (byte)clockphasespinner.getselecteditemposition(); dataorderselected = (byte)dataorderspinner.getselecteditemposition(); spisinterface.setconfig(clockphasemode,dataorderselected); ); /* read data */ public void run() while(true) Message msg = mhandler.obtainmessage(); try Thread.sleep(50); catch(interruptedexception e) numreadwritten[0] = 0x00; status = spisinterface.readdata((byte)64, readbuffer, numreadwritten); mhandler.sendmessage(msg); /*write data*/ writebutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub writebutton.setbackgroundresource(drawable.start); numreadwritten[0] = 0x00; /*parse the string*/ bytecount = 0; tempcount = 0; /*read the bytes from the write box*/ if(writetext.length()!= 0) bytecount = (byte)writetext.length(); for(count=0; count < bytecount; count++) readbuffer[count] = (byte)writetext.gettext().charat(count); /*send only when there is something to be send*/ if(bytecount!= 0x00) status = spisinterface.senddata(bytecount, readbuffer, numreadwritten); writestatustext.settext(integer.tostring(numreadwritten[0])); ); Copyright Future Technology Devices International Limited 30
32 14 Annex F : SPI Master /*config the SPI Master Interface*/ configbutton.setonclicklistener(new public void onclick(view v) configbutton.setbackgroundresource(drawable.start); if(clockfreqtext.length() == 0x00) clockfreqtext.settext(integer.tostring( )); ); clockphasemode = (byte)clockphasespinner.getselecteditemposition(); dataorderselected = (byte)dataorderspinner.getselecteditemposition(); clockfreq = Integer.parseInt(clockFreqText.getText().toString()); spiminterface.setconfig(clockphasemode, dataorderselected, clockfreq); /* read data */ readbutton.setonclicklistener(new public void onclick(view v) // TODO Auto-generated method stub readbutton.setbackgroundresource(drawable.start); numreadwritten[0] = 0x00; if(numbytestext.length()!= 0) numbytes = (byte)integer.parseint(numbytestext.gettext().tostring()); for(count=0;count<numbytes;count++) readwritebuffer[count]=(byte)0xff; status = spiminterface.readdata(numbytes, readwritebuffer, numreadwritten); char [] displayreadbuffer; displayreadbuffer = new char[64]; int displayactualnumbytes; displayactualnumbytes = numreadwritten[0]; for(count = 0;count<(numReadWritten[0]);count++) displayreadbuffer[count] = (char)readwritebuffer[count]; readtext.append(string.copyvalueof(displayreadbuffer, 0, displayactualnumbytes)); ); statustext.settext(integer.tostring(numreadwritten[0])); /*write data*/ writebutton.setonclicklistener(new View.OnClickListener() Copyright Future Technology Devices International Limited 31
33 @Override public void onclick(view v) // TODO Auto-generated method stub writebutton.setbackgroundresource(drawable.start); numreadwritten[0] = 0x00; /*parse the string*/ bytecount = 0; tempcount = 0; /*read the bytes from the write box*/ if(writetext.length()!= 0) numbytes = (byte) writetext.length(); bytecount = (byte)writetext.length(); for(count=0; count < bytecount; count++) readwritebuffer[count] = (byte)writetext.gettext().charat(count); /*send only when there is something to be send*/ if(bytecount!= 0x00) status = spiminterface.senddata(bytecount, readwritebuffer, numreadwritten); ); writestatustext.settext(integer.tostring(numreadwritten[0])); Copyright Future Technology Devices International Limited 32
34 15 Appendix A List of Tables & Figures 15.1 List of Tables Table 1.1 : Acronyms and Abbreviations... 3 Table 3.1: UART command format... 7 Table 3.2: UART command packet parameters... 7 Table 3.3: UART SetConfig command parameters... 7 Table 3.4: UART SendData command parameters... 7 Table 3.5: UART ReadData command parameters... 8 Table 4.1: GPIO command packet format Table 4.2: GPIO command packet parameters Table 4.3: GPIO ConfigPort command parameters Table 4.4: GPIO ReadPort command parameters Table 4.5: GPIO WritePort command parameters Table 4.6: GPIO ResetPort command parameters Table 5.1: PWM command packet format Table 5.2: PWM command packet parameters Table 5.3: PWM SetPeriod command parameters Table 5.4: PWM SetDutyCycle command parameters Table 5.5: PWM Reset command parameters Table 6.1: I 2 C Read return status Table 6.2: I 2 C Write return status Table 6.3: I 2 C command packet format Table 6.4: I 2 C command packet parameters Table 6.5: I 2 C SetFrequency command parameters Table 6.6: I 2 C WriteData command parameters Table 6.7: I 2 C WriteData response parameters Table 6.8: I 2 C WriteData return status Table 6.9: I 2 C ReadData command parameters Table 6.10: I 2 C ReadData response parameters Table 6.11: I 2 C ReadData return status Table 6.12: I 2 C Reset command parameters Table 7.1: SPI Slave command format Table 7.2: SPI Slave command packet parameters Table 7.3: SPI Slave SetConfig command parameters Table 7.5: SPI Slave response parameters Table 7.6: SPI Slave ReadData command parameters Table 8.1: SPI Master command format Table 8.2: SPI Master command packet parameters Table 8.3: SPI Master Setconfig command parameters Table 8.4: SPI Master SendData command parameters Table 8.5: SPI Master SendData response parameters Table 8.6: SPI Master ReadData command parameters Table 8.7: SPI Master ReadData response parameters Table 8.8: SPI Master Reset command parameters List of Figures Figure 2.1 : Android Open Accessory Module with FT311D... 4 Figure 2.2 : Android Open Accessory Module with FT312D... 4 Figure 2.3 : Android FTDI FT31xD Application... 5 Figure 3.1 : Android FTDI FT31xD UART Application... 6 Figure 4.1 : Android FTDI FT311D GPIO Application... 9 Figure 5.1 : Android FTDI FT311D PWM Application Figure 6.1 : Android FTDI FT311D I 2 C Master Application Figure 7.1 : Android FTDI FT311D SPI Slave Application Figure 8.1 : Android FTDI FT311D SPI Master Application Copyright Future Technology Devices International Limited 33
35 16 APPENDIX B - Contact Information Head Office Glasgow, UK Future Technology Devices International Limited Unit 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom Tel: +44 (0) Fax: +44 (0) (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Branch Office Tigard, Oregon, USA Future Technology Devices International Limited (USA) 7130 SW Fir Loop Tigard, OR USA Tel: +1 (503) Fax: +1 (503) (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Branch Office Taipei, Taiwan Future Technology Devices International Limited (Taiwan) 2F, No. 516, Sec. 1, NeiHu Road Taipei 114 Taiwan, R.O.C. Tel: +886 (0) Fax: +886 (0) (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Branch Office Shanghai, China Room 1103, No. 666 West Huaihai Road, Shanghai, China Tel: Fax: (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] FT311D and FT312D are parts of Future Technology Devices International Ltd. Neither the whole nor any part of the information contained in, or the product described in this manual, may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. This product and its documentation are supplied on an as-is basis and no warranty as to their suitability for any particular purpose is either made or implied. Future Technology Devices International Ltd will not accept any claim for damages howsoever arising as a result of use or failure of this product. Your statutory rights are not affected. This product or any variant of it is not intended for use in any medical appliance, device or system in which the failure of the product might reasonably be expected to result in personal injury. This document provides preliminary information that may be subject to change without notice. No freedom to use patents or other intellectual property rights is implied by the publication of this document. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH United Kingdom. Scotland Registered Number: SC Copyright Future Technology Devices International Limited 50
36 17 Appendix C - Revision History Document Title: FT31xD Android Programmers Guide Document Reference No.: FT_ Clearance No.: FTDI# 307 Product Page: Document Feedback: Send Feedback Version 1.0 Initial Release Updated to include FT312D Copyright Future Technology Devices International Limited 51
Software Application Development. FT311D Android programmers guide
Future Technology Devices International Ltd. Software Application Development FT311D Android programmers guide Document Reference No.: FT_000532 Version 1.0 Issue Date: 2012-07-24 The FT311D Android programmers
Application Note AN_241. FTDI_AOA_HyperTerm_User_Manual
AN_241 FTDI_AOA_HyperTerm_User_Manual Version1.0 Issue Date: 2013-05-03 Android Honeycomb (3.1) and later versions support Android Open Accessory Protocol, which can receive and send data from an Android
Application Note AN_208. FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide
AN_208 FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide Version1.3 Issue Date: 2013-09-09 FTDI s FT311D device is targeted specifically at providing a data bridge from an Android
Command Processor for MPSSE and MCU Host Bus Emulation Modes
Future Technology Devices International Ltd. Application Note AN_108 Command Processor for MPSSE and MCU Host Bus Emulation Modes Document Reference No.: FT_000109 Version 1.5 Issue Date: 2011-09-09 This
Embedded Systems Design Course Applying the mbed microcontroller
Embedded Systems Design Course Applying the mbed microcontroller Serial communications with SPI These course notes are written by R.Toulson (Anglia Ruskin University) and T.Wilmshurst (University of Derby).
Application Note AN_243. FT312D USB Host to UART Cable Application
Future Technology Devices International Ltd Application Note AN_243 FT312D USB Host to UART Cable Application Document Reference No. FT_000839 Issue Date: 2013-05-21 This application note illustrates how
Application Note AN_242
AN_242 FTDI_UART_Terminal_User_Manual Issue Date: 2013-06-24 This utility is for use with FTDI USB to UART devices. The utility provides a terminal emulation function for use on Android devices. The Android
Introduction: Implementation of the MVI56-MCM module for modbus communications:
Introduction: Implementation of the MVI56-MCM module for modbus communications: Initial configuration of the module should be done using the sample ladder file for the mvi56mcm module. This can be obtained
Serial Communications
Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation
Data sheet Wireless UART firmware version 4.02
Data sheet Wireless UART firmware version 4.02 BLUETOOTH is a trademark owned by Bluetooth SIG, Inc., U.S.A. and licensed to Free2move Rev: 22 December 2008 Table of contents 1 GENERAL INFORMATION...4
Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs
Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs AN033101-0412 Abstract This describes how to interface the Dallas 1-Wire bus with Zilog s Z8F1680 Series of MCUs as master devices. The Z8F0880,
Software User Guide UG-461
Software User Guide UG-461 One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com ezlinx icoupler Isolated Interface Development Environment
Application Note. AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery
Future Technology Devices International Ltd. Application Note AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery Document Reference No.: FT_000209 Issue Date: 2010-02-17 The FTDI Hi-Speed USB devices
Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A
Application Note Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A AN026701-0308 Abstract This application note demonstrates a method of implementing the Serial Peripheral Interface
Future Technology Devices International Ltd
Future Technology Devices International Ltd Datasheet Chipi-X Cable Chipi-X is a USB to full-handshake RS232 cable with a male DB9 connector. This cable is available with or without an enclosure. 1 Introduction
Future Technology Devices International Ltd. FT311D
Future Technology Devices International Ltd. FT311D (USB Android Host IC) The FT311D is a Full Speed USB host specifically targeted at providing access to peripheral hardware from an Android platform with
Application Note AN_299. FT800_FT801_Internal_Clock _Trimming
AN_299 FT800_FT801_Internal_Clock _Trimming Issue Date: 2014-03-04 The FTDI FT800 and FT801 video controllers offer a low cost solution for embedded graphics requirements. In addition to the graphics,
Future Technology Devices International Ltd
Future Technology Devices International Ltd Datasheet UMFT200XD Breakout Modules 1 Introduction UMFT200XD is a USB to I 2 C breakout module The UMFT200XD breakout module utilizes FTDI s FT200XQ IC to convert
Master-Touch and ValuMass. Modbus Communications. INSTRUCTION MANUAL 80202201 (Rev. 2.1)
Master-Touch and ValuMass Modbus Communications INSTRUCTION MANUAL 80202201 (Rev. 2.1) Eldridge Products, Inc. 2700 Garden Road, Building A Monterey, CA 93940 Tel: 800/321-3569 or 831/648-7777 Fax: 831/648-7780
VDIP1. Vinculum VNC1L Module. Datasheet
Future Technology Devices International Ltd. VDIP1 Vinculum VNC1L Module Datasheet Version 1.02 Issue Date: 2010-05-31 Future Technology Devices International Ltd (FTDI) Unit 1, 2 Seaward Place, Centurion
DS1721 2-Wire Digital Thermometer and Thermostat
www.dalsemi.com FEATURES Temperature measurements require no external components with ±1 C accuracy Measures temperatures from -55 C to +125 C; Fahrenheit equivalent is -67 F to +257 F Temperature resolution
Serial Communications
April 2014 7 Serial Communications Objectives - To be familiar with the USART (RS-232) protocol. - To be able to transfer data from PIC-PC, PC-PIC and PIC-PIC. - To test serial communications with virtual
DS1621 Digital Thermometer and Thermostat
www.maxim-ic.com FEATURES Temperature measurements require no external components Measures temperatures from -55 C to +125 C in 0.5 C increments. Fahrenheit equivalent is -67 F to 257 F in 0.9 F increments
AN601 I2C 2.8 Communication Protocol. SM130 SM130 - Mini APPLICATION NOTE
AN601 I2C 2.8 Communication Protocol SM130 SM130 - Mini APPLICATION NOTE 2 1. INTRODUCTION This application note explains I2C communication protocol with SM130 or SM130-Mini Mifare module based on the
PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram
TOOLSTICK VIRTUAL TOOLS USER S GUIDE RELEVANT DEVICES 1. Introduction The ToolStick development platform consists of a ToolStick Base Adapter and a ToolStick Daughter card. The ToolStick Virtual Tools
Elettronica dei Sistemi Digitali Costantino Giaconia SERIAL I/O COMMON PROTOCOLS
SERIAL I/O COMMON PROTOCOLS RS-232 Fundamentals What is RS-232 RS-232 is a popular communications interface for connecting modems and data acquisition devices (i.e. GPS receivers, electronic balances,
Technical Note. TN_134 FTDI Android D2XX Driver
Future Technology Devices International Ltd. Technical Note Document Reference No.: FT_000522 Version 1.1 Issue Date: 2012-08-16 This document describes the installation and use of the FTDI D2XX driver
Vinco Development Module. Datasheet
Future Technology Devices International Ltd. Vinco Development Module Datasheet The Vinco module is a Vinculum based development platform inspired by Arduino projects. Document Reference No.: FT_000327
APPLICATION PROGRAMMING INTERFACE
APPLICATION PROGRAMMING INTERFACE Advanced Card Systems Ltd. Website: www.acs.com.hk Email: [email protected] Table of Contents 1.0. Introduction... 4 2.0.... 5 2.1. Overview... 5 2.2. Communication Speed...
MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence : 0660-3
MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence : 0660-3 CMPS03 Magnetic Compass. Voltage : 5v only required Current : 20mA Typ. Resolution : 0.1 Degree Accuracy : 3-4 degrees approx. after calibration Output
DS1621 Digital Thermometer and Thermostat
Digital Thermometer and Thermostat www.dalsemi.com FEATURES Temperature measurements require no external components Measures temperatures from 55 C to +125 C in 0.5 C increments. Fahrenheit equivalent
FPGA INTEGRATION MANUAL SATURN-SIL 2 MODULES. Dictionary Code. Edition 01. Revision 00. Number of pages 18
Dictionary Code D741 Edition 01 Revision 00 Number of pages 18 State Approved SATURN-SIL 2 MODULES FPGA CLEARSY : SOCIETE PAR ACTIONS SIMPLIFIEE AU CAPITAL DE 266 880 - R.C.S. AIX-EN-PROVENCE - CODE SIRET
Application Note AN_209. AN_209 PDIUSBD12 to FT120 Migration Guide
AN_209 AN_209 PDIUSBD12 to FT120 Migration Guide Issue Date: 2012-12-14 The FT120 is a cost and feature optimized USB Full-Speed device controller. It communicates with a micro-controller over a generic
Application Note AN_185. Vinculum-II UART to USB HID Class Host Bridge
AN_185 Vinculum-II UART to USB HID Class Host Bridge Issue Date: 2011-11-02 This application note forms part of a series of application notes detailing the new simplified ROM images for VNC2. It will detail
Lab Experiment 1: The LPC 2148 Education Board
Lab Experiment 1: The LPC 2148 Education Board 1 Introduction The aim of this course ECE 425L is to help you understand and utilize the functionalities of ARM7TDMI LPC2148 microcontroller. To do that,
SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: 802.15.4 wireless embedded network
u Today: Wired embedded networks Ø Characteristics and requirements Ø Some embedded LANs SPI I2C LIN Ethernet u Next lecture: CAN bus u Then: 802.15.4 wireless embedded network Network from a High End
Using the HT46R46 I/O Ports to Implement Half-Duplex SPI Communication
Using the HT46R46 I/O Ports to Implement Half-Duplex SPI Communication D/N: HA0150E Introduction This application explains how to use two I/O lines on the HT46R46 to implement half-duplex SPI communication.
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Part 1. MAX 525 12BIT DAC with an Arduino Board. MIDI to Voltage Converter Part1
MIDI to Voltage Converter Part 1 MAX 525 12BIT DAC with an Arduino Board 1 What you need: 2 What you need : Arduino Board (Arduino Mega 2560) 3 What you need : Arduino Board (Arduino Mega 2560) Digital
FTDI Chip. VM800P Datasheet Embedded Video Engine Plus Module. VM800P Embedded Video Engine Plus Module Datasheet Version 1.0
FTDI Chip VM800P Datasheet Embedded Video Engine Plus Module General Purpose Multi Media Controller The VM800P is a development module for FTDI s FT800, which is used to develop and demonstrate the functionality
AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor. http://onsemi.
Design Examples of On Board Dual Supply Voltage Logic Translators Prepared by: Jim Lepkowski ON Semiconductor Introduction Logic translators can be used to connect ICs together that are located on the
GTS-4E Hardware User Manual. Version: V1.1.0 Date: 2013-12-04
GTS-4E Hardware User Manual Version: V1.1.0 Date: 2013-12-04 Confidential Material This document contains information highly confidential to Fibocom Wireless Inc. (Fibocom). Fibocom offers this information
ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction
Software ISO 7816 I/O Line Implementation Features ISO 7816-3 compliant (direct convention) Byte reception and transmission with parity check Retransmission on error detection Automatic reception at the
Technical Note. TN_147 Java D2xx for Android
Future Technology Devices International Ltd. Technical Note TN_147 Java D2xx for Android Document Reference No.:FT_000799 Version 1.2 Issue Date: 2013-09-16 This document describes the installation and
Serial Communications / Protocol in AirTest Products
Serial Communications / Protocol in AirTest Products General The standard sensor has two different ways of serial communication with sensor s peripherals and the outside world. One is through the UART
Installation and Operation Manual TAP Application on the Open Java Server
Installation and Operation Manual Contents 1 Introduction... 1 1.1 Abbreviations and Glossary... 1 1.2 Functionality... 1 2 Protocol Mapping... 2 2.1 Unite Communications... 2 3 Installation... 4 3.1 Configuration...
RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards
RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards 2012 Roving Networks. All rights reserved. Version 1.0 9/7/2012 USER MANUAL OVERVIEW The RN-131 and RN-171 WiFly radio modules are complete, standalone
Software Application Development. D2XX Programmer's Guide
Future Technology Devices International Ltd. Software Application Development D2XX Programmer's Guide Document Reference No.: FT_000071 Version 1.3 Issue Date: 2012-02-23 FTDI provides DLL and virtual
MSP430 USB Communications Device Class (CDC) API User s Guide, v0.7
September 2008 MSP430 USB Communications Device Class (CDC) API User s Guide, v0.7 MSP430 Contents 1 Introduction...3 2 Operation...3 2.1 System...3 2.2 Stack Organization...4 2.3 Source File Organization...5
SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.
SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance
White Paper WP_001. Connecting Peripherals to an Android Platform
WP_001 Connecting Peripherals to an Android Platform Issue Date: 2012-02-09 This white paper will describe some of the options for connecting peripheral accessories to Android OS based tablets/phones.
In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1
RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer
How to develop your own app
How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that
FT4232H Mini Module. USB Hi-Speed FT4232H Evaluation Module. Datasheet
Future Technology Devices International Ltd. FT4232H Mini Module USB Hi-Speed FT4232H Evaluation Module Datasheet Issue Date: 2012-08-01 Future Technology Devices International Ltd (FTDI) Unit 1, 2 Seaward
PCAN-MicroMod Universal I/O Module with CAN Interface. User Manual. Document version 2.1.0 (2014-01-16)
PCAN-MicroMod Universal I/O Module with CAN Interface User Manual Document version 2.1.0 (2014-01-16) Products taken into account Product Name Part number Model PCAN-MicroMod IPEH-002080 with firmware
AN1754 APPLICATION NOTE
AN1754 APPLICATION NOTE DATA LOGGING PROGRAM FOR TESTING ST7 APPLICATIONS VIA ICC by Microcontroller Division Application Team INTRODUCTION Data logging is the process of recording data. It is required
Single channel data transceiver module WIZ2-434
Single channel data transceiver module WIZ2-434 Available models: WIZ2-434-RS: data input by RS232 (±12V) logic, 9-15V supply WIZ2-434-RSB: same as above, but in a plastic shell. The WIZ2-434-x modules
USB2.0 <=> I2C V4.4. Konverter Kabel und Box mit Galvanischetrennung
USB2.0 I2C V4.4 Konverter Kabel und Box mit Galvanischetrennung USB 2.0 I2C Konverter Kabel V4.4 (Prod. Nr. #210) USB Modul: Nach USB Spezifikation 2.0 & 1.1 Unterstützt automatisch "handshake
Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide
Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Sensors LCD Real Time Clock/ Calendar DC Motors Buzzer LED dimming Relay control I2C-FLEXEL PS2 Keyboards Servo Motors IR Remote Control
Guangzhou HC Information Technology Co., Ltd. Product Data Sheet
Guangzhou HC Information Technology Co., Ltd. Product Data Sheet Rev 1 Module Data Sheet 1.0 2.0 2.1 2.2 2006/6/18 2006/9/6 2010/4/22 2011/4/6 DRAWN BY : Ling Xin MODEL : HC-06 CHECKED BY : Eric Huang
I2C PRESSURE MONITORING THROUGH USB PROTOCOL.
I2C PRESSURE MONITORING THROUGH USB PROTOCOL. Product Details: To eradicate human error while taking readings such as upper precision or lower precision Embedded with JAVA Application: Technology Used:
Technical Note TN_158. What is the Camera Parallel Interface?
TN_158 What is the Camera Parallel Interface? Issue Date: 2015-03-23 This technical note explains the basics of the Camera Parallel Interface, a feature of FTDI MCUs. Use of FTDI devices in life support
Table 1 below is a complete list of MPTH commands with descriptions. Table 1 : MPTH Commands. Command Name Code Setting Value Description
MPTH: Commands Table 1 below is a complete list of MPTH commands with descriptions. Note: Commands are three bytes long, Command Start Byte (default is 128), Command Code, Setting value. Table 1 : MPTH
Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V1.0. 20 th November 2012. L6470 Stepper Motor Shield
Arduino Dual L6470 Stepper Motor Shield Data Sheet Adaptive Design ltd V1.0 20 th November 2012 Adaptive Design ltd. Page 1 General Description The Arduino stepper motor shield is based on L6470 microstepping
FLYPORT Wi-Fi 802.11G
FLYPORT Wi-Fi 802.11G System on module 802.11g WIFI - Infrastructure mode - softap mode - Ad hoc mode Microchip PIC 24F 16 bit processor Microchip MRF24WG0MA/MB - Native WiFi 802.11g transceiver - PCB
DKWF121 WF121-A 802.11 B/G/N MODULE EVALUATION BOARD
DKWF121 WF121-A 802.11 B/G/N MODULE EVALUATION BOARD PRELIMINARY DATA SHEET Wednesday, 16 May 2012 Version 0.5 Copyright 2000-2012 Bluegiga Technologies All rights reserved. Bluegiga Technologies assumes
FT2232H Mini Module. USB Hi-Speed FT2232H Evaluation Module. Datasheet
Future Technology Devices International Ltd. FT2232H Mini Module USB Hi-Speed FT2232H Evaluation Module Datasheet Version 1.7 Issue Date: 2012-07-09 Future Technology Devices International Ltd (FTDI) Unit
NB3H5150 I2C Programming Guide. I2C/SMBus Custom Configuration Application Note
NB3H550 I2C Programming Guide I2C/SMBus Custom Configuration Application Note 3/4/206 Table of Contents Introduction... 3 Overview Process of Configuring NB3H550 via I2C/SMBus... 3 Standard I2C Communication
Future Technology Devices International Ltd. USB-Key. Datasheet
Future Technology Devices International Ltd USB-Key Datasheet Document Reference No.: FT_000062 Version 1.00 Issue Date: 2008-07-17 Future Technology Devices International Ltd (FTDI) 373 Scotland Street,
User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK
User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK Because Arduino that is the development project on AVR MCU as Open Source has been published, it is popular and widespread shortly.
TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT
TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT HARDWARE GUIDE This document is part of Turbo Programmer documentation. For Developer Documentation, Applications and Examples, see http:/// PRELIMINARY (C)
Application Note AN_254. FT800 Designs With Visual TFT
AN_254 FT800 Designs With Visual TFT Issue Date: 2013-09-30 The FTDI FT800 video controller offers a low cost solution for embedded graphics requirements. In addition to the graphics, resistive touch inputs
AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS
AVR1309: Using the XMEGA SPI Features Introduction to SPI and the XMEGA SPI module Setup and use of the XMEGA SPI module Implementation of module drivers Polled master Interrupt controlled master Polled
USER GUIDE EDBG. Description
USER GUIDE EDBG Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging support through Atmel
Bluetooth for device discovery. Networking Guide
Bluetooth for device discovery Networking Guide Index Document Version: v4.4-11/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. General description...3 2. Hardware... 5 2.1.
AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE
Atmel AVR 8-bit Microcontroller AVR151: Setup and Use of the SPI APPLICATION NOTE Introduction This application note describes how to set up and use the on-chip Serial Peripheral Interface (SPI) of the
AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.
SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES 1. Introduction C8051F3xx and C8051F41x devices are equipped with an SMBus serial I/O peripheral that is compliant with both the System Management
Implementing SPI Communication Between MSP430 G2452 and LTC2382-16 ADC
Implementing SPI Communication Between MSP430 G2452 and LTC2382-16 ADC Enwei Gu Nov. 12, 2011 MCU ADC MSP430- G2452 LTC2382-16 16- bits SPI Keywords 1 Abstract This document describes and shows how to
Application Note 120 Communicating Through the 1-Wire Master
www.dalsemi.com Application Note 120 Communicating Through the 1-Wire Master INTRODUCTION The DS1WM 1-Wire Master was created to facilitate host CPU communication with devices over a 1-Wire bus without
EVAL-UFDC-1/UFDC-1M-16
Evaluation Board for Universal Frequency-to- Digital Converters UFDC-1 and UFDC-1M-16 EVAL-UFDC-1/UFDC-1M-16 FEATURES Full-Featured Evaluation Board for the Universal Frequency-to-Digital Converters UFDC-1
TTL-232R-PCB. TTL to USB Serial Converter PCB. Datasheet
Future Technology Devices International Ltd TTL-232R-PCB TTL to USB Serial Converter PCB Datasheet Document Reference No.: FT_000065 Version 1.01 Issue Date: 2010-09-02 Future Technology Devices International
M85 OpenCPU Solution Presentation
M85 OpenCPU Solution Presentation 2013/09/22 Wireless Solutions Co., Ltd. All rights reserved OUTLINE OpenCPU Summary Advantages Software Architecture What s New? Open Resources Development Requirements
Getting Started with IntelleView POS Administrator Software
Getting Started with IntelleView POS Administrator Software Administrator s Guide for Software Version 1.2 About this Guide This administrator s guide explains how to start using your IntelleView POS (IntelleView)
Programming Interface. for. Bus Master IDE Controller. Revision 1.0
Programming Interface for Bus Master IDE Controller Revision 1.0 5/16/94 Until this specification is ratified, it is solely owned and maintained by: Brad Hosler, Intel Corporation [email protected] (please
Embedded Component Based Programming with DAVE 3
Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial
TTL-232R-3V3 USB to TTL Serial Converter Cable
Future Technology Devices International Ltd. TTL-232R-3V3 USB to TTL Serial Converter Cable The TTL-232R-3V3 is a USB to TTL serial converter cable incorporating FTDI s FT232RQ USB - Serial UART interface
USB Human Interface Joystick Demonstration Create a HID USB Device (sample Joystick) By Jared St.Clare, October 2009 Version 1
Create a HID USB Device (sample Joystick) By Jared St.Clare, October 2009 Version 1 1. Use EasyHid to create the generic files and USB files. Select the correct pic chip that you plan to program. We re
CAM-VGA100 User Manual
CAM-VGA100 User Manual Release Note: 1. Jan 28, 2004 official released v1.0 2. Feb 24, 2004 official released v1.1 Fix the definition of verify code Fix the bug of unable jump to power save mode Fix the
Serial port interface for microcontroller embedded into integrated power meter
Serial port interface for microcontroller embedded into integrated power meter Mr. Borisav Jovanović, Prof. dr. Predrag Petković, Prof. dr. Milunka Damnjanović, Faculty of Electronic Engineering Nis, Serbia
eztcp Technical Document Modbus/TCP of eztcp Caution: Specifications of this document may be changed without prior notice for improvement.
eztcp Technical Document Modbus/TCP of eztcp Version 1.3 Caution: Specifications of this document may be changed without prior notice for improvement. Sollae Systems Co., Ltd. http://www.sollae.co.kr Contents
PM1122 INT DIGITAL INTERFACE REMOTE
PM1122 INT DIGITAL INTERFACE REMOTE PM1122 INT front panel description: 1. Clear wireless remotes knob: push this button for more than 2 seconds to clear the list of all assigned wireless remote settings
Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows 7
Future Technology Devices International Ltd. Application Note AN_119 FTDI Drivers Installation guide for Windows 7 Document Reference No.: FT_000160 Issue Date: 2015-06-15 The purpose of this application
BLUETOOTH SERIAL PORT PROFILE. iwrap APPLICATION NOTE
BLUETOOTH SERIAL PORT PROFILE iwrap APPLICATION NOTE Thursday, 19 April 2012 Version 1.2 Copyright 2000-2012 Bluegiga Technologies All rights reserved. Bluegiga Technologies assumes no responsibility for
Appendix B RCS11 Remote Communications
Appendix B RCS11 Remote Communications B.1 Host Computer Remote Communications Control and status messages are conveyed between the RCS11 and the host computer using packetized message blocks in accordance
Wifi Web Server Module w TF Socket User s Guide
Wifi Web Server Module w TF Socket User s Guide 2004-2010 Sure Electronics Inc. MB-CM14117_Ver1.0 WIFI WEB SERVER MODULE W TF SOCKET USER S GUIDE Table of Contents Chapter 1. Overview...1 1.1 Overview...
Virtual Integrated Design Getting started with RS232 Hex Com Tool v6.0
Virtual Integrated Design Getting started with RS232 Hex Com Tool v6.0 Copyright, 1999-2007 Virtual Integrated Design, All rights reserved. 1 Contents: 1. The Main Window. 2. The Port Setup Window. 3.
Quick Installation. A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding. Quick Installation
Quick Installation A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding This chapter intends to get your new FuzzyScan scanner working with your existing system within minutes. General instructions
CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup
CP2110 EVALUATION KIT USER S GUIDE 1. Kit Contents The CP2110 Evaluation Kit contains the following items: CP2110 Evaluation Board RS232 Serial Cable USB Cable DVD Quick Start Guide 2. Relevant Documentation
DECT Module UM-9802 Datasheet
UWIN TECHNOLOGIES CO., LTD. DECT Module UM-9802 Datasheet V2.1 1 UWIN TECHNOLOGIES CO., LTD. Contents 1. Introduction... 3 2. Features... 3 3. DECT Module Application... 3 4. DECT Module function block...
