20#ifndef LIBJAYLINK_LIBJAYLINK_H
21#define LIBJAYLINK_LIBJAYLINK_H
90#define JAYLINK_LOG_DOMAIN_DEFAULT "jaylink: "
93#define JAYLINK_LOG_DOMAIN_MAX_LENGTH 32
365 char hid[INET_ADDRSTRLEN];
379#define JAYLINK_SPEED_ADAPTIVE_CLOCKING 0xffff
382#define JAYLINK_DEV_CONFIG_SIZE 256
385#define JAYLINK_DEV_CAPS_SIZE 4
388#define JAYLINK_DEV_EXT_CAPS_SIZE 32
391#define JAYLINK_MAX_CONNECTIONS 16
394#define JAYLINK_MAC_ADDRESS_LENGTH 6
400#define JAYLINK_NICKNAME_MAX_LENGTH 32
406#define JAYLINK_PRODUCT_NAME_MAX_LENGTH 32
409#define JAYLINK_FILE_NAME_MAX_LENGTH 255
412#define JAYLINK_FILE_MAX_TRANSFER_SIZE 0x100000
420#define JAYLINK_EMUCOM_CHANNEL_TIME 0x0
428#define JAYLINK_EMUCOM_CHANNEL_USER 0x10000
431#define JAYLINK_C2_MAX_LENGTH 64
458#define JAYLINK_API __attribute__ ((visibility ("default")))
490 uint8_t *data, uint8_t length);
492 const uint8_t *data, uint8_t length);
510 uint8_t **ports,
size_t *length);
534 uint32_t mask, uint32_t *info);
536 uint32_t mask, uint32_t *values);
551 const uint8_t *config);
567 uint32_t channel, uint8_t *buffer, uint32_t *length);
569 uint32_t channel,
const uint8_t *buffer, uint32_t *length);
579 const char *filename, uint8_t *buffer, uint32_t offset,
582 const char *filename,
const uint8_t *buffer, uint32_t offset,
585 const char *filename, uint32_t *size);
587 const char *filename);
592 const uint8_t *tms,
const uint8_t *tdi, uint8_t *tdo,
617 const uint8_t *mosi, uint8_t *miso, uint32_t length,
623 uint32_t *serial_number);
632 const uint8_t *direction,
const uint8_t *out, uint8_t *in,
641 uint8_t *buffer, uint32_t *length);
const char * jaylink_strerror_name(int error_code)
Return the name of a libjaylink error code.
Definition error.c:86
void jaylink_free_devices(struct jaylink_device **devs, bool unref)
Free devices.
Definition device.c:183
int jaylink_file_read(struct jaylink_device_handle *devh, const char *filename, uint8_t *buffer, uint32_t offset, uint32_t *length)
Read from a file.
Definition fileio.c:77
jaylink_capability
libjaylink capabilities.
Definition libjaylink.h:96
@ JAYLINK_CAP_HIF_USB
Library supports USB as host interface.
Definition libjaylink.h:98
int jaylink_jtag_set_trst(struct jaylink_device_handle *devh)
Set the JTAG test reset (TRST) signal.
Definition jtag.c:234
int jaylink_jtag_clear_tck(struct jaylink_device_handle *devh)
Clear the JTAG test clock (TCK) signal.
Definition jtag.c:366
int jaylink_jtag_io(struct jaylink_device_handle *devh, const uint8_t *tms, const uint8_t *tdi, uint8_t *tdo, uint16_t length, enum jaylink_jtag_version version)
Perform a JTAG I/O operation.
Definition jtag.c:79
bool jaylink_library_has_cap(enum jaylink_capability cap)
Check for a capability of libjaylink.
Definition core.c:209
int jaylink_get_firmware_version(struct jaylink_device_handle *devh, char **version, size_t *length)
Retrieve the firmware version of a device.
Definition device.c:700
const char * jaylink_hardware_type_string(enum jaylink_hardware_type type)
Get the string representation of a hardware type.
Definition strutil.c:78
int jaylink_get_extended_caps(struct jaylink_device_handle *devh, uint8_t *caps)
Retrieve the extended capabilities of a device.
Definition device.c:1161
jaylink_counter
Device counters.
Definition libjaylink.h:215
@ JAYLINK_COUNTER_TARGET_TIME
Time the device is connected to a target in milliseconds.
Definition libjaylink.h:217
@ JAYLINK_COUNTER_TARGET_CONNECTIONS
Number of times the device was connected or disconnected from a target.
Definition libjaylink.h:222
int jaylink_open(struct jaylink_device *dev, struct jaylink_device_handle **devh)
Open a device.
Definition device.c:607
int jaylink_swo_read(struct jaylink_device_handle *devh, uint8_t *buffer, uint32_t *length)
Read SWO trace data.
Definition swo.c:230
int jaylink_c2_read_address(struct jaylink_device_handle *devh, uint8_t *address)
Read the C2 address register.
Definition c2.c:59
int jaylink_version_library_get_revision(void)
Get the revision version number of the libjaylink libtool interface.
Definition version.c:99
int jaylink_write_raw_config(struct jaylink_device_handle *devh, const uint8_t *config)
Write the raw configuration data of a device.
Definition device.c:1342
int jaylink_log_get_level(const struct jaylink_context *ctx, enum jaylink_log_level *level)
Get the libjaylink log level.
Definition log.c:72
int jaylink_jtag_clear_trst(struct jaylink_device_handle *devh)
Clear the JTAG test reset (TRST) signal.
Definition jtag.c:190
const char * jaylink_strerror(int error_code)
Return a human-readable description of a libjaylink error code.
Definition error.c:40
const char * jaylink_version_package_get_string(void)
Get the version number string of the libjaylink package.
Definition version.c:73
int jaylink_log_set_callback(struct jaylink_context *ctx, jaylink_log_callback callback, void *user_data)
Set the libjaylink log callback function.
Definition log.c:96
int jaylink_get_speeds(struct jaylink_device_handle *devh, struct jaylink_speed *speed)
Retrieve target interface speeds.
Definition target.c:128
int jaylink_get_free_memory(struct jaylink_device_handle *devh, uint32_t *size)
Retrieve the size of free memory of a device.
Definition device.c:1220
int jaylink_device_get_usb_bus_ports(const struct jaylink_device *dev, uint8_t *bus, uint8_t **ports, size_t *length)
Get the USB bus and port numbers of a device.
Definition device.c:308
int jaylink_version_library_get_current(void)
Get the current version number of the libjaylink libtool interface.
Definition version.c:86
int jaylink_file_write(struct jaylink_device_handle *devh, const char *filename, const uint8_t *buffer, uint32_t offset, uint32_t *length)
Write to a file.
Definition fileio.c:212
int jaylink_exit(struct jaylink_context *ctx)
Shutdown libjaylink.
Definition core.c:171
int jaylink_log_set_domain(struct jaylink_context *ctx, const char *domain)
Set the libjaylink log domain.
Definition log.c:133
int jaylink_get_hardware_info(struct jaylink_device_handle *devh, uint32_t mask, uint32_t *info)
Retrieve the hardware information of a device.
Definition device.c:801
int jaylink_swo_start(struct jaylink_device_handle *devh, enum jaylink_swo_mode mode, uint32_t baudrate, uint32_t size)
Start SWO capture.
Definition swo.c:71
int jaylink_version_package_get_micro(void)
Get the micro version number of the libjaylink package.
Definition version.c:59
jaylink_log_level
libjaylink log levels.
Definition libjaylink.h:74
@ JAYLINK_LOG_LEVEL_INFO
Output informational messages.
Definition libjaylink.h:82
@ JAYLINK_LOG_LEVEL_DEBUG
Output debug messages.
Definition libjaylink.h:84
@ JAYLINK_LOG_LEVEL_ERROR
Output error messages.
Definition libjaylink.h:78
@ JAYLINK_LOG_LEVEL_NONE
Output no messages.
Definition libjaylink.h:76
@ JAYLINK_LOG_LEVEL_DEBUG_IO
Output I/O debug messages.
Definition libjaylink.h:86
@ JAYLINK_LOG_LEVEL_WARNING
Output warnings.
Definition libjaylink.h:80
int jaylink_get_hardware_status(struct jaylink_device_handle *devh, struct jaylink_hardware_status *status)
Retrieve the hardware status of a device.
Definition device.c:1019
int jaylink_file_delete(struct jaylink_device_handle *devh, const char *filename)
Delete a file.
Definition fileio.c:430
int jaylink_jtag_set_tms(struct jaylink_device_handle *devh)
Set the JTAG test mode select (TMS) signal.
Definition jtag.c:322
int jaylink_device_get_hardware_version(const struct jaylink_device *dev, struct jaylink_hardware_version *version)
Get the hardware version of a device.
Definition device.c:425
int jaylink_init(struct jaylink_context **ctx)
Initialize libjaylink.
Definition core.c:91
int jaylink_version_library_get_age(void)
Get the age version number of the libjaylink libtool interface.
Definition version.c:111
struct jaylink_device * jaylink_ref_device(struct jaylink_device *dev)
Increment the reference count of a device.
Definition device.c:518
int jaylink_swo_get_speeds(struct jaylink_device_handle *devh, enum jaylink_swo_mode mode, struct jaylink_swo_speed *speed)
Retrieve SWO speeds.
Definition swo.c:345
jaylink_device_capability
Device capabilities.
Definition libjaylink.h:127
@ JAYLINK_DEV_CAP_ETHERNET
Device supports ethernet connectivity.
Definition libjaylink.h:159
@ JAYLINK_DEV_CAP_REGISTER
Device supports registration of connections.
Definition libjaylink.h:153
@ JAYLINK_DEV_CAP_SET_TARGET_POWER
Device supports the setting of the target power supply.
Definition libjaylink.h:143
@ JAYLINK_DEV_CAP_READ_CONFIG
Device supports reading configuration data.
Definition libjaylink.h:133
@ JAYLINK_DEV_CAP_FILE_IO
Device supports file I/O operations.
Definition libjaylink.h:151
@ JAYLINK_DEV_CAP_GET_HW_INFO
Device supports retrieval of hardware information.
Definition libjaylink.h:141
@ JAYLINK_DEV_CAP_GET_HW_VERSION
Device supports retrieval of the hardware version.
Definition libjaylink.h:129
@ JAYLINK_DEV_CAP_SWO
Device supports capturing of SWO trace data.
Definition libjaylink.h:149
@ JAYLINK_DEV_CAP_SELECT_TIF
Device supports target interface selection.
Definition libjaylink.h:145
@ JAYLINK_DEV_CAP_EMUCOM
Device supports EMUCOM.
Definition libjaylink.h:157
@ JAYLINK_DEV_CAP_GET_FREE_MEMORY
Device supports retrieval of free memory size.
Definition libjaylink.h:139
@ JAYLINK_DEV_CAP_GET_EXT_CAPS
Device supports retrieval of extended capabilities.
Definition libjaylink.h:155
@ JAYLINK_DEV_CAP_SPI
Device supports SPI.
Definition libjaylink.h:161
@ JAYLINK_DEV_CAP_ADAPTIVE_CLOCKING
Device supports adaptive clocking.
Definition libjaylink.h:131
@ JAYLINK_DEV_CAP_GET_COUNTERS
Device supports retrieval of counter values.
Definition libjaylink.h:147
@ JAYLINK_DEV_CAP_WRITE_CONFIG
Device supports writing configuration data.
Definition libjaylink.h:135
@ JAYLINK_DEV_CAP_GET_SPEEDS
Device supports retrieval of target interface speeds.
Definition libjaylink.h:137
int jaylink_get_caps(struct jaylink_device_handle *devh, uint8_t *caps)
Retrieve the capabilities of a device.
Definition device.c:1094
int jaylink_select_interface(struct jaylink_device_handle *devh, enum jaylink_target_interface iface, enum jaylink_target_interface *prev_iface)
Select the target interface.
Definition target.c:203
int jaylink_device_get_product_name(const struct jaylink_device *dev, char *name)
Get the product name of a device.
Definition device.c:459
int jaylink_parse_serial_number(const char *str, uint32_t *serial_number)
Convert a string representation of a serial number to an integer.
Definition strutil.c:48
int(* jaylink_log_callback)(const struct jaylink_context *ctx, enum jaylink_log_level level, const char *format, va_list args, void *user_data)
Log callback function type.
Definition libjaylink.h:473
jaylink_spi_flag
Serial Peripheral Interface (SPI) flags.
Definition libjaylink.h:280
@ JAYLINK_SPI_FLAG_CS_END_1
Drive chip select (CS) high after the transfer is complete.
Definition libjaylink.h:292
@ JAYLINK_SPI_FLAG_CS_START_1
Drive chip select (CS) high before the transfer begins.
Definition libjaylink.h:286
@ JAYLINK_SPI_FLAG_CS_END_U
Do not drive chip select (CS) after the transfer is complete.
Definition libjaylink.h:288
@ JAYLINK_SPI_FLAG_CS_START_U
Do not drive chip select (CS) before the transfer begins.
Definition libjaylink.h:282
@ JAYLINK_SPI_FLAG_CS_END_0
Drive chip select (CS) low after the transfer is complete.
Definition libjaylink.h:290
@ JAYLINK_SPI_FLAG_CS_START_0
Drive chip select (CS) low before the transfer begins.
Definition libjaylink.h:284
void jaylink_unref_device(struct jaylink_device *dev)
Decrement the reference count of a device.
Definition device.c:536
int jaylink_emucom_read(struct jaylink_device_handle *devh, uint32_t channel, uint8_t *buffer, uint32_t *length)
Read from an EMUCOM channel.
Definition emucom.c:93
jaylink_usb_address
USB addresses.
Definition libjaylink.h:115
@ JAYLINK_USB_ADDRESS_3
USB address 3 (Product ID 0x0104).
Definition libjaylink.h:123
@ JAYLINK_USB_ADDRESS_1
USB address 1 (Product ID 0x0102).
Definition libjaylink.h:119
@ JAYLINK_USB_ADDRESS_2
USB address 2 (Product ID 0x0103).
Definition libjaylink.h:121
@ JAYLINK_USB_ADDRESS_0
USB address 0 (Product ID 0x0101).
Definition libjaylink.h:117
const char * jaylink_log_get_domain(const struct jaylink_context *ctx)
Get the libjaylink log domain.
Definition log.c:161
int jaylink_log_set_level(struct jaylink_context *ctx, enum jaylink_log_level level)
Set the libjaylink log level.
Definition log.c:47
int jaylink_swd_io(struct jaylink_device_handle *devh, const uint8_t *direction, const uint8_t *out, uint8_t *in, uint16_t length)
Perform a SWD I/O operation.
Definition swd.c:71
int jaylink_spi_io(struct jaylink_device_handle *devh, const uint8_t *mosi, uint8_t *miso, uint32_t length, uint32_t flags)
Perform SPI I/O operation.
Definition spi.c:64
const char * jaylink_version_library_get_string(void)
Get the version number string of the libjaylink libtool interface.
Definition version.c:125
int jaylink_jtag_clear_tms(struct jaylink_device_handle *devh)
Clear the JTAG test mode select (TMS) signal.
Definition jtag.c:278
int jaylink_set_target_power(struct jaylink_device_handle *devh, bool enable)
Set the target power supply.
Definition target.c:505
int jaylink_device_get_nickname(const struct jaylink_device *dev, char *nickname)
Get the nickname of a device.
Definition device.c:492
int jaylink_version_package_get_minor(void)
Get the minor version number of the libjaylink package.
Definition version.c:47
jaylink_error
Error codes returned by libjaylink functions.
Definition libjaylink.h:44
@ JAYLINK_ERR_DEV_NO_MEMORY
Device: not enough memory to perform operation.
Definition libjaylink.h:70
@ JAYLINK_OK
No error.
Definition libjaylink.h:46
@ JAYLINK_ERR_ARG
Invalid argument.
Definition libjaylink.h:50
@ JAYLINK_ERR
Unspecified error.
Definition libjaylink.h:48
@ JAYLINK_ERR_MALLOC
Memory allocation error.
Definition libjaylink.h:52
@ JAYLINK_ERR_DEV_NOT_AVAILABLE
Device: entity not available.
Definition libjaylink.h:68
@ JAYLINK_ERR_NOT_SUPPORTED
Operation not supported.
Definition libjaylink.h:60
@ JAYLINK_ERR_IO
Input/output error.
Definition libjaylink.h:62
@ JAYLINK_ERR_PROTO
Protocol violation.
Definition libjaylink.h:56
@ JAYLINK_ERR_NOT_AVAILABLE
Entity not available.
Definition libjaylink.h:58
@ JAYLINK_ERR_DEV
Device: unspecified error.
Definition libjaylink.h:64
@ JAYLINK_ERR_TIMEOUT
Timeout occurred.
Definition libjaylink.h:54
@ JAYLINK_ERR_DEV_NOT_SUPPORTED
Device: operation not supported.
Definition libjaylink.h:66
int jaylink_device_get_host_interface(const struct jaylink_device *dev, enum jaylink_host_interface *iface)
Get the host interface of a device.
Definition device.c:208
int jaylink_c2_read_data(struct jaylink_device_handle *devh, uint8_t *data, uint8_t length)
Read the C2 data register.
Definition c2.c:209
int jaylink_version_package_get_major(void)
Get the major version number of the libjaylink package.
Definition version.c:35
int jaylink_get_devices(struct jaylink_context *ctx, struct jaylink_device ***devs, size_t *count)
Get available devices.
Definition device.c:137
int jaylink_unregister(struct jaylink_device_handle *devh, const struct jaylink_connection *connection, struct jaylink_connection *connections, size_t *count)
Unregister a connection from a device.
Definition device.c:1656
int jaylink_jtag_set_tck(struct jaylink_device_handle *devh)
Set the JTAG test clock (TCK) signal.
Definition jtag.c:410
struct jaylink_device * jaylink_get_device(struct jaylink_device_handle *devh)
Get the device instance from a device handle.
Definition device.c:670
int jaylink_device_get_usb_address(const struct jaylink_device *dev, enum jaylink_usb_address *address)
Get the USB address of a device.
Definition device.c:269
const char * jaylink_target_interface_string(enum jaylink_target_interface iface)
Get the string representation of a target interface.
Definition strutil.c:105
int jaylink_clear_reset(struct jaylink_device_handle *devh)
Clear the target reset signal.
Definition target.c:409
int jaylink_get_selected_interface(struct jaylink_device_handle *devh, enum jaylink_target_interface *iface)
Retrieve the selected target interface.
Definition target.c:352
int jaylink_c2_write_address(struct jaylink_device_handle *devh, uint8_t address)
Write to the C2 address register.
Definition c2.c:136
int jaylink_device_get_mac_address(const struct jaylink_device *dev, uint8_t *address)
Get the MAC address of a device.
Definition device.c:390
int jaylink_device_get_serial_number(const struct jaylink_device *dev, uint32_t *serial_number)
Get the serial number of a device.
Definition device.c:236
int jaylink_set_speed(struct jaylink_device_handle *devh, uint16_t speed)
Set the target interface speed.
Definition target.c:63
jaylink_hardware_info
Hardware information.
Definition libjaylink.h:165
@ JAYLINK_HW_INFO_IPV4_ADDRESS
Device's IPv4 address in network byte order.
Definition libjaylink.h:188
@ JAYLINK_HW_INFO_ITARGET_PEAK
Peak current consumption of the target in mA.
Definition libjaylink.h:178
@ JAYLINK_HW_INFO_TARGET_POWER
Status of the target power supply.
Definition libjaylink.h:174
@ JAYLINK_HW_INFO_IPV4_NETMASK
IPv4 netmask in network byte order.
Definition libjaylink.h:195
@ JAYLINK_HW_INFO_IPV4_DNS
DNS server IPv4 address in network byte order.
Definition libjaylink.h:209
@ JAYLINK_HW_INFO_VUSB
USB voltage in mV.
Definition libjaylink.h:211
@ JAYLINK_HW_INFO_IPV4_GATEWAY
Gateway IPv4 address in network byte order.
Definition libjaylink.h:202
@ JAYLINK_HW_INFO_ITARGET
Current consumption of the target in mA.
Definition libjaylink.h:176
int jaylink_get_hardware_version(struct jaylink_device_handle *devh, struct jaylink_hardware_version *version)
Retrieve the hardware version of a device.
Definition device.c:956
jaylink_swo_mode
Serial Wire Output (SWO) capture modes.
Definition libjaylink.h:274
@ JAYLINK_SWO_MODE_UART
Universal Asynchronous Receiver Transmitter (UART).
Definition libjaylink.h:276
int jaylink_c2_write_data(struct jaylink_device_handle *devh, const uint8_t *data, uint8_t length)
Write to the C2 data register.
Definition c2.c:290
int jaylink_close(struct jaylink_device_handle *devh)
Close a device.
Definition device.c:646
int jaylink_get_available_interfaces(struct jaylink_device_handle *devh, uint32_t *ifaces)
Retrieve the available target interfaces.
Definition target.c:286
int jaylink_emucom_write(struct jaylink_device_handle *devh, uint32_t channel, const uint8_t *buffer, uint32_t *length)
Write to an EMUCOM channel.
Definition emucom.c:206
jaylink_jtag_version
JTAG command versions.
Definition libjaylink.h:261
@ JAYLINK_JTAG_VERSION_2
JTAG command version 2.
Definition libjaylink.h:268
@ JAYLINK_JTAG_VERSION_3
JTAG command version 3.
Definition libjaylink.h:270
int jaylink_file_get_size(struct jaylink_device_handle *devh, const char *filename, uint32_t *size)
Retrieve the size of a file.
Definition fileio.c:338
jaylink_hardware_type
Device hardware types.
Definition libjaylink.h:226
@ JAYLINK_HW_TYPE_JLINK
J-Link.
Definition libjaylink.h:228
@ JAYLINK_HW_TYPE_FLASHER
Flasher.
Definition libjaylink.h:230
@ JAYLINK_HW_TYPE_JLINK_PRO
J-Link Pro.
Definition libjaylink.h:232
bool jaylink_has_cap(const uint8_t *caps, uint32_t cap)
Check for a capability.
Definition util.c:47
jaylink_host_interface
Host interfaces.
Definition libjaylink.h:102
@ JAYLINK_HIF_USB
Universal Serial Bus (USB).
Definition libjaylink.h:104
@ JAYLINK_HIF_TCP
Transmission Control Protocol (TCP).
Definition libjaylink.h:106
int jaylink_discovery_scan(struct jaylink_context *ctx, uint32_t ifaces)
Scan for devices.
Definition discovery.c:72
int jaylink_get_counters(struct jaylink_device_handle *devh, uint32_t mask, uint32_t *values)
Retrieve the counter values of a device.
Definition device.c:880
int jaylink_set_reset(struct jaylink_device_handle *devh)
Set the target reset signal.
Definition target.c:453
jaylink_target_interface
Target interfaces.
Definition libjaylink.h:236
@ JAYLINK_TIF_FINE
Renesas’ single-wire debug interface (FINE).
Definition libjaylink.h:244
@ JAYLINK_TIF_CJTAG
Compact JTAG (cJTAG).
Definition libjaylink.h:252
@ JAYLINK_TIF_SWD
Serial Wire Debug (SWD).
Definition libjaylink.h:240
@ JAYLINK_TIF_C2
Silicon Labs 2-wire interface (C2).
Definition libjaylink.h:250
@ JAYLINK_TIF_SPI
Serial Peripheral Interface (SPI).
Definition libjaylink.h:248
@ JAYLINK_TIF_2W_JTAG_PIC32
2-wire JTAG for PIC32 compliant devices.
Definition libjaylink.h:246
@ JAYLINK_TIF_BDM3
Background Debug Mode 3 (BDM3).
Definition libjaylink.h:242
@ JAYLINK_TIF_JTAG
Joint Test Action Group, IEEE 1149.1 (JTAG).
Definition libjaylink.h:238
int jaylink_device_get_ipv4_address(const struct jaylink_device *dev, char *address)
Get the IPv4 address string of a device.
Definition device.c:360
#define JAYLINK_API
Macro to mark public libjaylink API symbol.
Definition libjaylink.h:458
int jaylink_swo_stop(struct jaylink_device_handle *devh)
Stop SWO capture.
Definition swo.c:156
int jaylink_register(struct jaylink_device_handle *devh, struct jaylink_connection *connection, struct jaylink_connection *connections, size_t *count)
Register a connection on a device.
Definition device.c:1515
int jaylink_read_raw_config(struct jaylink_device_handle *devh, uint8_t *config)
Read the raw configuration data of a device.
Definition device.c:1282
Device connection.
Definition libjaylink.h:348
uint8_t cid
CID.
Definition libjaylink.h:369
uint16_t handle
Handle.
Definition libjaylink.h:350
uint8_t iid
IID.
Definition libjaylink.h:367
uint32_t timestamp
Timestamp of the last registration in milliseconds.
Definition libjaylink.h:375
char hid[INET_ADDRSTRLEN]
Host ID (HID).
Definition libjaylink.h:365
uint32_t pid
Process ID (PID).
Definition libjaylink.h:357
Opaque structure representing a libjaylink context.
Opaque structure representing a handle of a device.
Opaque structure representing a device.
Device hardware status.
Definition libjaylink.h:330
bool tres
TRES pin state.
Definition libjaylink.h:342
bool trst
TRST pin state.
Definition libjaylink.h:344
bool tms
TMS pin state.
Definition libjaylink.h:340
bool tdi
TDI pin state.
Definition libjaylink.h:336
uint16_t target_voltage
Target reference voltage in mV.
Definition libjaylink.h:332
bool tdo
TDO pin state.
Definition libjaylink.h:338
bool tck
TCK pin state.
Definition libjaylink.h:334
Device hardware version.
Definition libjaylink.h:318
uint8_t major
Major version.
Definition libjaylink.h:322
uint8_t revision
Revision number.
Definition libjaylink.h:326
uint8_t minor
Minor version.
Definition libjaylink.h:324
enum jaylink_hardware_type type
Hardware type.
Definition libjaylink.h:320
Target interface speed information.
Definition libjaylink.h:296
uint32_t freq
Base frequency in Hz.
Definition libjaylink.h:298
uint16_t div
Minimum frequency divider.
Definition libjaylink.h:300
Serial Wire Output (SWO) speed information.
Definition libjaylink.h:304
uint32_t max_prescaler
Maximum prescaler.
Definition libjaylink.h:314
uint32_t min_div
Minimum frequency divider.
Definition libjaylink.h:308
uint32_t max_div
Maximum frequency divider.
Definition libjaylink.h:310
uint32_t min_prescaler
Minimum prescaler.
Definition libjaylink.h:312
uint32_t freq
Base frequency in Hz.
Definition libjaylink.h:306