Recommend Print

UG-0007 - SIGNALYZER_ATTRIBUTES - MPSSE_JTAG - Reference

  • Created
    Monday, 28 November 2011
  • Created by
    Super User
  • Last modified
    Monday, 28 November 2011
  • Revised by
    Super User
  • Voting
    (0 votes)
  • Favourites
    Add to favourites
  • Categories

Legal

THIS SOFTWARE IS PROVIDED BY XVERVE TECHNOLOGIES INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL XVERVE TECHNOLOGIES INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

SOFTWARE, IDE, LIBRARIES, DRIVERS AND SAMPLE APPLICATIONS PROVIDED BY XVERVE TECHNOLOGIES INC. MAY BE USED ONLY IN CONJUNCTION WITH SIGNALYZER MODULES.

ALL XVERVE TECHNOLOGIES INC. SOFTWARE COMPONENTS MAY BE DISTRIBUTED IN ANY FORM AS

LONG AS ORIGINAL LICENSE INFORMATION IS NOT MODIFIED AND ACCOMPANIED WITH PRODUCT RELEASE

History

Revision

Date

Notes

Author

0.01

2011-08-01

Initial Release

OS

 

 

 

 

 

 

 

 

References

  • UG-0001 – SIGNALYZER_LIB – User Guide

Introduction

The SIGNALYZER-LIB is an easy-to-use Application Program Interface (API), designed to give you complete access to the Signalyzer series functionality and support for SPI, I2C, JTAG and FIFO protocols, allowing easy integration with a wide range of other systems such as development/evaluation boards, test and manufacturing systems and more.

  • Develop custom solutions in C/C++, C#, VB, .NET, Tcl/Tk, Python and Labview
  • Quickly interface to target hardware using SPI, I2C, JTAG, FIFO, UART and BitBang modes
  • Implement custom protocols
  • Clean API is well-documented and easy to integrate
  • Fully Windows, Linux, and Mac OS X compatible
  • Royalty-free API can be used without licensing fees

The SIGNALYZER-LIB programming language bindings make integration of the API into custom applications simple. Accessing the functionality of Signalyzer-H series devices simply requires function calls to the API. This API is easy to understand, much like the standard ANSI C library functions. There is no unnecessary entanglement with the Windows messaging subsystem as in development kits for other embedded tools.

No License Fees

There are no charges or licensing fees to start developing with the SIGNALYZER-LIB API. Furthermore, the SIGNALYZER-LIB is royalty free and it can be used and distributed in third party applications absolutely free.

Clean and Clear API

Never underestimate the value of good software. Xverve Technologies Inc. makes tools for engineers by engineers. We strive to make your job of integrating the Development API as easy as possible. With one quick look, you will notice that the API is clean, easy to understand, and can be used with variety of compilers and development tools.

API documentation

The SIGNALYZER-LIB API documentation is divided into following primary categories:

  • API Functions. The API consists of only 24 functions that implement complete access to all Signalyzer H series resources. The API functionality includes getting a list of attached devices; opening device by serial number or description; configuring operating mode, attributes and parameters; data writes and reads either using direct access or command queuing ; and mode specific calls for SPI, I2C and JTAG commands.
  • SIGNALYZER_ATTRIBUTE – Attributes. Parameters, operating mode and overall device operation are controlled using attributes. From the prospective of Embedded Development Attribute can also be viewed as set of registers. Writing a value to Attribute or Register will result in certain action. Attributes control as low-level device functions as well as mode specific parameters and timing settings.
  • SIGNALYZER_STATUS - Return Status. Every API call whether it was successful or failed returned SIGNALYZER_STATUS value will help to determine the results of the call.
  • Command Queue. Queuing commands improves the overall performance and operation of the library and Signalyzer-H series. Signalyzer Library implements a queue mode which can be used when desired.
  •  Language specific API wrappers and extensions. In addition to the standard C library functions number of wrappers is available making API accessible to range of other most popular languages:
  1. oC++ Wrapper - SIGNALYZER_CPP-LIB
  2. o.NET Wrapper - SIGNALYZER_NET-LIB
  3. oTcl Wrapper - SIGNALYZER_TCL-LIB
  4. oPython Wrapper - SIGNALYZER_PY-LIB (coming soon)
  5. oJava Wrapper - SIGNALYZER_JAVA-LIB (coming soon)
  6. oLabview Wrapper - SIGNALYZER_VI-LIB (coming soon)

API Functions

The API divided into two main categories of the calls

  • Control and Management functions used to scan USB bus for attached devices, list present device, open and close connection with device. Also debug and logging  
  • Attribute Access function used to implement the core library functionality.

Every API call, whether it was successful or failed for various reasons, the SIGNALYZER_STATUS code is returned to help to determine the results of the call and failure.

Quick reference table

Function

Description

signalyzer_get_library_version

Returns SIGNALYZER-LIB version information

signalyzer_get_status_description

Returns textual description of SIGNALYZER_STATUS

signalyzer_get_number_of_devices

Returns number of devices attached

signalyzer_get_device_list

Retrieves detailed list of attached devices

signalyzer_open

Opens a connection with specified Signalyzer device

signalyzer_close

Closes a connection with previously opened Signalyzer device

signalyzer_set_log_output

Sets where debug log generated by SIGNALYZER-LIB shall be redirected

signalyzer_get_attribute_id

Retrieves Attribute ID based on its textual description

signalyzer_get_attribute_description

Retrieves textual description for specified Attribute

signalyzer_write_u8

Writes an unsigned char (byte) into specified Attribute ID

signalyzer_write_u16

Writes an unsigned short (16-bits) into specified Attribute ID

signalyzer_write_u32

Writes an unsigned int (32-bits) into specified Attribute ID

signalyzer_write_u64

Writes an unsigned long long (64-bits) into specified Attribute ID

signalyzer_write

Writes set number of bits into specified Attribute ID

signalyzer_read_u8

Reads an unsigned char (byte) from specified Attribute ID

signalyzer_read_u16

Reads an unsigned short (16-bits) from specified Attribute ID

signalyzer_read_u32

Reads an unsigned int (32-bits) from specified Attribute ID

signalyzer_read_u64

Reads an unsigned long long (64-bits) from specified Attribute ID

signalyzer_read

Reads set number of bits from specified Attribute ID

signalyzer_write_read_u8

Writes and Reads an unsigned char (byte) from specified Attribute ID

signalyzer_write_read_u16

Writes and Reads an unsigned short (16-bits) from specified Attribute ID

signalyzer_write_read_u32

Writes and Reads an unsigned int (32-bits) from specified Attribute ID

signalyzer_write_read_u64

Writes and Reads an unsigned long long (64-bits) from Attribute ID

signalyzer_write_read

Writes and Reads set number of bits from specified Attribute ID

Please refer to SIGNALYZER_LIB User Guide for detailed description of each function call.

SIGNALYZER_ATTRIBUTE – Attributes

Parameters, operating mode and overall device operation are controlled using attributes. From the prospective of Embedded Development Attribute can also be viewed as set of registers. Writing a value to Attribute or Register will result in certain action. Attributes control as low-level device functions as well as mode specific parameters and timing settings.

This section provides detailed overview of MPSSE_JTAG attributes. For other Attributes please refer to corresponding documentation.

JTAG (MPSSE-JTAG) Mode Attributes

SIGNALYZER_ATTRIBUTE_MPSSE_JTAG_DATA

Read SIGNALYZER-LIB version information

ID:                                                          0x00000001

Size:                                                      32-bits (uint32_t)

Access:                                                 READ ONLY

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_API_VERSION                                          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_API_VERSION                                          [ .NET | C++ ]

SIGNALYZER_ATTRIBUTE_MPSSE_JTAG_TAP_STATE

SIGNALYZER_ATTRIBUTE_MPSSE_JTAG_TAP_END_STATE

SIGNALYZER_ATTRIBUTE_MPSSE_JTAG_CLOCK_TCK