2022-05-15

IO Ninja 5.1.2 Is Out!
Major release

  • Dispatch Interface for session-specific actions and other In-App Scripting improvements
  • Copy timestamps & offsets from the log
  • Reset layout of the main window
  • X-Term compatibility improvements

In-App Scripting improvements

In-App Scripting is a great tool for automating your testing routine. It works in any session, and as such, it was originally designed to only expose the generic functionality: write to log, establish a connection, send a block of data, etc. However, often times it is necessary to perform session-specific actions, such as setting baud rate to 115220 bps on a serial port. Starting with this release, it becomes possible via a session dispatch object called g_session. For example, inside a Serial session, you can:

// configure the port...
g_session.open("COM1");
g_session.m_baudRate = 115200;
g_session.m_dataBits = 8;
g_session.m_stopBits = io.SerialStopBits._1;
g_session.m_parity = io.SerialParity.None;
g_session.m_dtr = true;

// work with the device...
transmit("\x02INIT\r");

We also introduced high-level functions transmitAll() and receiveAll(). These will block the in-app scripting thread until the buffer is transferred completely or an error occurs. The blocking receive() function now also accepts the third timeout parameter. This allows for a convenient handling of situations when a device doesn't respond:

transmitAll("\x02COMMAND\r");

char buffer[256];
size_t size = receive(buffer, sizeof(buffer), 1000); // give the device one second to respond
if (!size) {
    // no response from the device
}

Copy timestamps & offsets from the log

Over the years, we received numerous questions from our users about how to copy timestamps from the log. Alas, the only possible way was by saving the log as a text file first. Well, now you can do it directly! Ctrl + mouse click on a timestamp induces full-line selection, including timestamps. It's also possible to select and copy data with binary offsets but without timestamps. Yes, you guessed it right, it's done via a Ctrl + mouse click on the offset column . And yes, this works in the hex-editor, too!

For a complete list of changes, see changelog.txt (also included in all installation packages).

Previous release announcements