Recommend Print

UG-0001 - SIGNALYZER_LIB - User Guide

  • 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


signalyzer_get_library_version

Function returns SIGNALYZER-LIB versioning information.

Definition

signalyzer_status_t signalyzer_get_library_version 

       uint32_t * library_version

);

Parameters

library_version

                A pointer to an unsigned int variable where library version will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_get_number_of_devices

Returns number of devices attached to the host.

Definition

signalyzer_status_t signalyzer_get_number_of_devices   (

       signalyzer_hal_interface_t hal_interface,

       signalyzer_device_type_t device_type,

       uint32_t * number_of_devices

);

Parameters

 hal_interface

                Value specifies the HAL interface library shall use.

device_type

                Value specifies the type of Signalyzer device API need to account for and return back.

number_of_devices

                A pointer to an unsigned int variable where number of devices will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Remarks

To avoid any library misbehaviour hal_interface and device_type values should not change when calling API functions that require these parameters.

Example

signalyzer_get_device_list

Retrieves detailed list of attached devices.

Definition

signalyzer_status_t signalyzer_get_device_list (

       signalyzer_hal_interface_t hal_interface,

       signalyzer_device_type_t device_type,

       signalyzer_list_type_t list_type,

       void * device_list,

       uint32_t * number_of_devices

);

Parameters

hal_interface

                Value specifies the HAL interface library shall use.

device_type

                Value specifies the type of Signalyzer device API need to account for and return back.

list_type

                Value specifies the type of the list function will return.

device_list

                A pointer to a structure where function will store a list of devices.

number_of_devices

                A pointer to an unsigned int variable where number of devices will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Remarks

To avoid any library misbehaviour hal_interface and device_type values should not change when calling API functions that require these parameters.

Example

signalyzer_open

Opens a connection with specified Signalyzer device

Definition

signalyzer_status_t signalyzer_open (

       signalyzer_hal_interface_t hal_interface,

       signalyzer_device_type_t device_type,

       signalyzer_list_type_t list_type,

       void * device_identifier,

       signalyzer_handle_t * signalyzer_handle

);

Parameters

hal_interface

                Value specifies the HAL interface library shall use.

device_type

                Value specifies the type of Signalyzer device API need to account for and return back.

list_type

                Value specifies the type of the list function will return.

device_identifier

                A pointer to a string or structure identifying device being opened.

signalyzer_handle

                A pointer to a signalyzer_handle_t type where function will store a handle to open Signalyzer connection.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Remarks

To avoid any library misbehaviour hal_interface and device_type values should not change when calling API functions that require these parameters.

Example

signalyzer_close

Closes connection with previously opened Signalyzer device.

Definition

signalyzer_status_t signalyzer_close (

       signalyzer_handle_t signalyzer_handle

);

Parameters

signalyzer_handle

                A handle to an open device.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_get_attribute_id

Retrieves Attribute Id using its textual description.

NOTE: The corresponding operation mode must be enabled before Attribute Id can be retrieved.

Definition

signalyzer_status_t signalyzer_get_attribute_id (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       const char * attribute_name,

       signalyzer_attribute_id_t * attribute_id

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

attribute_name

A pointer to a null terminated string containing attribute name.

attribute_id

A pointer to an signalyzer_attribute_id_t variable where function will return decoded Attribute Id.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_get_attribute_description

Retrieves textual description for specified Attribute.

Definition

signalyzer_status_t signalyzer_get_attribute_description (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       char * input_locale,

       uint32_t attribute_id,

       char ** attribute_description

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

input_locale

A pointer to null terminated string specifying the language API shall return information.

attribute_id

Passes the Attribute Id value which description shall be returned by API call.

attribute_description

Pointer to a character type pointer where description will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int (uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Remarks

Currently only “en” (English) input_locale is implemented by the library.

Example


 

signalyzer_get_status_description

Returns textual description of SIGNALYZER_STATUS

Definition

signalyzer_status_t signalyzer_get_status_description (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       char * input_locale,

       signalyzer_status_t status,

       char ** status_description

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

input_locale

A pointer to null terminated string specifying the language API shall return information.

status

Passes the Signalyzer_status_t value which description shall be returned by API call.

status_description

Pointer to a character type pointer where description will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Remarks

Currently only “en” (English) input_locale is implemented.

Example

signalyzer_write_u8

Writes an unsigned char (byte) into specified Attribute ID location.

Definition

signalyzer_status_t signalyzer_write_u8 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

       signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint8_t write_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_u16

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

Definition

signalyzer_status_t signalyzer_write_u16 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

       signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint16_t write_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

functions.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_u32

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

Definition

signalyzer_status_t signalyzer_write_u32 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint32_t write_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_u64

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

Definition

signalyzer_status_t signalyzer_write_u64 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint64_t write_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write

Writes set number of bits into specified Attribute ID.

Definition

signalyzer_status_t signalyzer_write (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       void * write_buffer,

       uint32_t bits_to_write,

       uint32_t * bits_written

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_buffer

A pointer to a buffer where write data is stored

bits_to_write

Sets number of bits to be written out.

bits_written

A pointer to a value where number of bits written will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_read_u8

Reads an unsigned char (byte) from specified Attribute ID.

Definition

signalyzer_status_t signalyzer_read_u8 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint8_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_read_u16

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

Definition

signalyzer_status_t signalyzer_read_u16 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint16_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_read_u32

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

Definition

signalyzer_status_t signalyzer_read_u32 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint32_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_read_u64

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

Definition

signalyzer_status_t signalyzer_read_u64 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint64_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_read

Reads set number of bits from specified Attribute ID

Definition

signalyzer_status_t signalyzer_read (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       void * read_buffer,

       uint32_t bits_to_read,

       uint32_t * bits_read

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

read_buffer

A pointer to a buffer where read data to be stored.

bits_to_read

Sets number of bits to be read.

bits_read

A pointer to a value where number of read bits will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_read_u8

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

Definition

signalyzer_status_t signalyzer_write_read_u8 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint8_t write_value,

       uint8_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_read_u16

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

Definition

signalyzer_status_t signalyzer_write_read_u16 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint16_t write_value,

       uint16_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_read_u32

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

Definition

signalyzer_status_t signalyzer_write_read_u32 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint32_t write_value,

       uint32_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_read_u64

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

Definition

 signalyzer_status_t signalyzer_write_read_u64 (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       uint64_t write_value,

       uint64_t * read_value

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_value

A value to be written.

read_value

A pointer to location where read data will be stored.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example

signalyzer_write_read

Writes and Reads set number of bits from specified Attribute ID.

Definition

 signalyzer_status_t signalyzer_write_read (

       signalyzer_handle_t signalyzer_handle,

       signalyzer_port_t port,

       signalyzer_attribute_id_t attribute_id,

signalyzer_queue_id_t queue_id,

       signalyzer_address_t address,

       void * write_buffer,

       uint32_t bits_to_write,

       uint32_t * bits_written,

       void * read_buffer,

       uint32_t bits_to_read,

       uint32_t * bits_read

);

Parameters

signalyzer_handle

                A handle to an open device.

port

Specifies the Port mask or Port index of the port being accessed by this API call.

queue_id

0x00 indicates that operation shall be executed immediately. Non-zero value specifies the queue where command will be stored for further processing at later time. The use of queues and queued commands can improve the overall performance by optimizing transfers over USB.

attribute_id

An Id value of the attribute being accessed by API call.

address

Sets the Address value for Attribute being accessed. The Address value usage depends on the attribute type being accessed and/or mode of operation. Please refer to Attribute specific documentation for details on usage of address parameter.

write_buffer

A pointer to a buffer where write data is stored

bits_to_write

Sets number of bits to be written out.

bits_written

A pointer to a value where number of bits written will be returned.

read_buffer

A pointer to a buffer where read data to be stored.

bits_to_read

Sets number of bits to be read.

bits_read

A pointer to a value where number of read bits will be returned.

Return value

signalyzer_status_t

Returns status of called API function, return type is unsigned int(uint32_t)

SIGNALYZER_STATUS_SUCCESS returned if API call completed successfully, otherwise specific error code is return. Refer to SIGNALYZER_STATUS section for details on specific error codes.

Example


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:                                                      Varialbe

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 ]