winIDEA SDK
Loading...
Searching...
No Matches
Installation and Usage

Overview

This document describes the winIDEA SDK API, which enables user applications to control and interact with target platforms.

First-time users should read the User's Guide (this document) first.

To find specific methods, use the search facility at the top of this page.

The tabs at the top of this page contain the following:

  • The Class List section lists all classes alphabetically.
  • The Examples section provides Python examples demonstrating winIDEA SDK usage.

Notes about search

  • Google Search uses Google's search engine. It provides more matches but requires web access.
  • The search field in the top right corner performs local search. It requires knowing the symbol name (class, method, etc.) to return matches. Use this when you know the specific name of a class or method.

Installation

Each supported language has specific installation and usage requirements.

Instructions for each supported language:

How to use the SDK

This section describes the first steps for creating a working program using the winIDEA SDK. Documentation examples use Python but can be easily adapted to other supported languages. Each SDK bundle includes a sample project in the SDK-specific language for use as a starter template.

The fundamental prerequisite for using the winIDEA SDK is establishing a connection to winIDEA, which provides target access. Use the isys::ConnectionMgr class and its isys::ConnectionMgr::connect() method, for example:

import isystem.connect as ic
cmgr = ic.ConnectionMgr()
cmgr.connect()

The isys::ConnectionMgr::connect() method without parameters connects to the most recently used winIDEA instance. For multiple targets or winIDEA versions, provide parameters to identify the specific winIDEA instance. Refer to the isys::ConnectionMgr class documentation and provided examples.

The first program

After establishing a connection to winIDEA, instantiate other isystem.connect classes and call their methods. The following code downloads firmware and runs the target until the main() function:

import isystem.connect as ic
cmgr = ic.ConnectionMgr()
cmgr.connect()
debug = ic.CDebugFacade(cmgr)
debug.download()
debug.runUntilFunction("main")
debug.waitUntilStopped()

Core classes

To continue, use the search box to find required functionality. AI tools can generate code as a starting point. Begin by reading documentation for these core classes:

How to get winIDEA SDK version for Python

The Python package isystem.connect provides the iconnect::getModuleVersion() method, which returns the version string of the installed winIDEA SDK for Python:

import isystem.connect as ic
print(ic.getModuleVersion())