Recommend Print

UG-0003 - SIGNALYZER_ATTRIBUTES - HAL - 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 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 provides detailed overview of HAL attributes. For other Attributes please refer to corresponding documentation.

Hardware Abstraction Layer (HAL) Attributes

SIGNALYZER_ATTRIBUTE_HAL_DATA                                                                        

Raw Data Write and Read operation.

ID:                                                          0x00010000

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_DATA                                                            [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_DATA                                                            [ .NET | C++ ]

HAL_DATA                                                                                             [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_LATENCY_TIMER

TBD.

ID:                                                          0x00010001

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_LATENCY_TIMER                       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_LATENCY_TIMER                       [ .NET | C++ ]

HAL_LATENCY_TIMER                                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_USB_IN_TRANSFER_SIZE

TBD.

ID:                                                          0x00010002

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_USB_IN_TRANSFER_SIZE       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_USB_IN_TRANSFER_SIZE       [ .NET | C++ ]

HAL_USB_IN_TRANSFER_SIZE                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_USB_OUT_TRANSFER_SIZE

TBD.

ID:                                                          0x00010003

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_USB_OUT_TRANSFER_SIZE     [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_USB_OUT_TRANSFER_SIZE     [ .NET | C++ ]

HAL_USB_OUT_TRANSFER_SIZE                                                      [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_WRITE_TIMEOUT

TBD.

ID:                                                          0x00010004

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_WRITE_TIMEOUT                       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_WRITE_TIMEOUT                       [ .NET | C++ ]

HAL_WRITE_TIMEOUT                                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_READ_TIMEOUT

TBD.

ID:                                                          0x00010005

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_READ_TIMEOUT                                          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_READ_TIMEOUT                                          [ .NET | C++ ]

HAL_READ_TIMEOUT                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_SPECIAL_CHARS

TBD.

ID:                                                          0x00010006

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_SPECIAL_CHARS                                       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_SPECIAL_CHARS                       [ .NET | C++ ]

HAL_SPECIAL_CHARS                                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_RESET

TBD.

ID:                                                          0x00010007

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_RESET                                          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_RESET                                          [ .NET | C++ ]

HAL_RESET                                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_PURGE

TBD.

ID:                                                          0x00010008

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_PURGE                                          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_PURGE                                          [ .NET | C++ ]

HAL_PURGE                                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_RTS_STATE

TBD.

ID:                                                          0x00010009

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_RTS_STATE                                 [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_RTS_STATE                                                 [ .NET | C++ ]

HAL_RTS_STATE                                                                                  [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_DTR_STATE

TBD.

ID:                                                          0x0001000A

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_DTR_STATE                                 [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_DTR_STATE                                                 [ .NET | C++ ]

HAL_DTR_STATE                                                                                  [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_BIT_MODE

TBD.

ID:                                                          0x0001000B

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_BIT_MODE                                   [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_BIT_MODE                                   [ .NET | C++ ]

HAL_BIT_MODE                                                                                    [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_BIT_MODE_IO_MASK

TBD.

ID:                                                          0x0001000C

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_BIT_MODE_IO_MASK                                [ C ]

                                                                SIGNALYZER_ATTRIBUTE. HAL_BIT_MODE_IO_MASK                              [ .NET | C++ ]

HAL_BIT_MODE_IO_MASK                                                                 [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_RX_BUFFER_BYTES

TBD.

ID:                                                          0x0001000D

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_RX_BUFFER_BYTES                   [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_RX_BUFFER_BYTES                   [ .NET | C++ ]

HAL_RX_BUFFER_BYTES                                                                    [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_CLK_FREQUENCY

TBD.

ID:                                                          0x0001000E

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_CLK_FREQUENCY                       [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_CLK_FREQUENCY                       [ .NET | C++ ]

HAL_CLK_FREQUENCY                                                                        [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_BYTES_IN_TX_BUFFER

TBD.

ID:                                                          0x0001000F

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_BYTES_IN_TX_BUFFER                            [ C ]

                                                                SIGNALYZER_ATTRIBUTE.BYTES_IN_TX_BUFFER                     [ .NET | C++ ]

HAL_BYTES_IN_TX_BUFFER                                                                             [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_BYTES_IN_RX_BUFFER

TBD.

ID:                                                          0x00010010

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_BYTES_IN_RX_BUFFER                            [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_BYTES_IN_RX_BUFFER                            [ .NET | C++ ]

HAL_BYTES_IN_RX_BUFFER                                                                             [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_EVENT_STATUS

TBD.

ID:                                                          0x00010011

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_EVENT_STATUS                                          [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_EVENT_STATUS                                          [ .NET | C++ ]

HAL_EVENT_STATUS                                                                           [ ASCII | Tcl ]

SIGNALYZER_ATTRIBUTE_HAL_AUX_IO

TBD.

ID:                                                          0x00010012

Size:                                                      32-bits (uint32_t)

Access:                                                 WRITE and READ

Operating Mode:                                             ALL

Compatible Devices:                      All Signalyzer series devices

Attribute Naming Convention:  SIGNALYZER_ATTRIBUTE_HAL_AUX_IO                                        [ C ]

                                                                SIGNALYZER_ATTRIBUTE.HAL_AUX_IO                                        [ .NET | C++ ]

HAL_AUX_IO                                                                                         [ ASCII | Tcl ]