Recommend Print

UG-0002 - SIGNALYZER_ATTRIBUTES - CORE - 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

[]

Introduction

The SIGNALYZER-LIB is an easy-to-use Application Program Interface (API), designed to give you complete access to Signalyzer products functionality and support for SPI, I2C, JTAG, SWD 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, SWD, 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 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_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_get_attribute_id

Retrieves Attribute ID based on its textual description

signalyzer_get_attribute_description

Retrieves textual description for specified Attribute

signalyzer_get_status_description

Returns textual description of SIGNALYZER_STATUS

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 all other aspects of 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 a Register will result in certain action. Reading a value from Attribute will also produce a certain action. Type of action will depend on Attribute being accessed. For example, a write to SIGNALYZER_ATTRIBUTE_CORE_OPERATING_MODE will cause the device to reconfigure to a particular mode, writing to DATA attribute will in data being output onto pins in specified mode.

This section will provide detailed overview of CORE attributes which are mode-independent. For a particular mode of operation please refer to a document describing its attributes.

Core Library Attributes

SIGNALYZER_ATTRIBUTE_CORE_API_VERSION

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++ ]

CORE_API_VERSION                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_DATA

Raw Data Reads and Writes

ID:                                                          0x00000002

Size:                                                      Variable

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_DATA                                   [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_DATA                                          [ .NET | C++ ]

CORE_DATA                                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_HAL_INTERFACE

Returns currently selected Hardware Abstraction Layer (HAL) interface.

ID:                                                          0x00000003

Size:                                                      32-bits

Access:                                                 READ ONLY

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_HAL_INTERFACE                     [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_HAL_INTERFACE                     [ .NET | C++ ]

CORE_HAL_INTERFACE                                                                      [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_OPERATING_MODE

Sets operating mode of the device channel. The list of supported operating modes depends on the used product. Refer to device documentation for list of supported operating modes.

ID:                                                          0x00000004

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_OPERATING_MODE                   [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_OPERATING_MODE                   [ .NET | C++ ]

CORE_OPERATING_MODE                                                                    [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_DATA_WORD_SIZE_BITS

Note: This Attribute Currently is not being used and defaults to byte size

ID:                                                          0x00000005

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_DATA_WORD_SIZE_BITS       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_DATA_WORD_SIZE_BITS       [ .NET | C++ ]

CORE_DATA_WORD_SIZE_BITS                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_DATA_ENDIANNESS

Note: This Attribute Currently is not being used.

ID:                                                          0x00000006

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ DATA_ENDIANNESS             [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ DATA_ENDIANNESS             [ .NET | C++ ]

CORE_DATA_ENDIANNESS                                   [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_LAST_STATUS

Returns status code for the last SIGNALYZER-LIB operation

ID:                                                          0x00000007

Size:                                                      32-bits

Access:                                                 READ ONLY

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ LAST_STATUS                                   [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ LAST_STATUS                         [ .NET | C++ ]

CORE_ LAST_STATUS                                                                          [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_SETUP

Note: This Attribute Currently is not being used.

ID:                                                          0x00000008

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_SETUP                 [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_SETUP                 [ .NET | C++ ]

CORE_SETUP                                      [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_WORDS_IN_RX_BUFFER

Note: This Attribute Currently is not being used.

ID:                                                          0x00000009

Size:                                                      32-bits

Access:                                                 READ ONLY

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ WORDS_IN_RX_BUFFER          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ WORDS_IN_RX_BUFFER    [ .NET | C++ ]

CORE_ WORDS_IN_RX_BUFFER                         [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_WORDS_IN_TX_BUFFER

Note: This Attribute Currently is not being used.

ID:                                                          0x0000000A

Size:                                                      32-bits

Access:                                                 READ ONLY

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ WORDS_IN_TX_BUFFER          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ WORDS_IN_TX_BUFFER    [ .NET | C++ ]

CORE_ WORDS_IN_RX_BUFFER                         [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_LOG_MASK

Sets the mask for the debug log. See debugging user guide for further details.

ID:                                                          0x0000000B

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ LOG_MASK                    [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ LOG_MASK                    [ .NET | C++ ]

CORE_ LOG_MASK                                   [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_LOG_TYPE

Note: This Attribute Currently is not being used. The only currently supported log type is XML format.

ID:                                                          0x0000000C

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_CORE_ LOG_TYPE                    [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ LOG_TYPE                    [ .NET | C++ ]

CORE_ LOG_TYPE                                   [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_CORE_QUEUE

This attribute performs a queue related manipulations.

ID:                                                          0x0000000D

Size:                                                      32-bits

Access:                                                 READ and WRITE

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_ CORE_QUEUE                 [ C ]

                                                                SIGNALYZER_ATTRIBUTE.CORE_ CORE_QUEUE                  [ .NET | C++ ]

CORE_ CORE_QUEUE                                 [ ASCII | Tcl ]