es:prot

Embedded Software Oscilloscope

Make internal states of microcontrollers accessible.

Transmit internal statuses and signals and make parameters available externally. In real time and via any communication interface.

Validate, identify, calibrate

Collect data, turn it into measurements, summarise it and process it at any interface.

Once developed, the system is thoroughly validated. This involves checking the entire system to ensure that all requirements and specifications are met. The performance and reliability of the system are tested under real conditions. Errors and deviations from the desired behaviour are identified and used to adjust and calibrate the system components. This process takes significant time and effort.

es:prot simplifies the validation and calibration of embedded software by providing simple and efficient access to the internal states of the system. es:prot helps to significantly reduce the time and resources required for this process.

The problem in validation

In order to validate the behaviour of an embedded system (consisting of electronics and software), it is necessary to perform measurements not only on the hardware but also on the software. Measurements ‘in the device’, e.g. via data loggers, can record and contextualise data directly in the running embedded system. They therefore offer good access to internal software statuses during operation. However, changes to the software configuration are necessary in order to access certain required data. System performance can also be affected by overheads.

The es:prot middleware takes the performance aspect into account by implementing it as resource-efficiently as possible. The effort required for software configuration is addressed by a flexible protocol structure: Data from the microcontroller is selected and made available via any communication interface. This data is then available to the es:scope software oscilloscope in real time. Measured values can be read and parameters can be set. This makes it easy to validate and calibrate the system.

Optimised for embedded developers

The middleware code is written in a hardware-abstract manner and is available in the C language so that the open source library can be integrated into a project regardless of the platform. Any communication interfaces can also be used. This makes es:prot suitable for almost any development project.

Flexible use thanks to a range of options

The data transfer only needs to be initiated once. The ‘Config’ that can be set during implementation defines the following parameters:

  • The Number of signalsthat are to be transferred from the embedded system to the computer and vice versa.
  • The maximum buffer size in bytes, which is assigned to the selected communication interface.
  • The frequency of the processwhich sends the data, e.g. a timer-based interrupt routine. 

Context of the data

Mit der Konfiguration wird auch die Kontextualisierung der Messdaten vorgenommen: Den Signalen werden ein Index, der Variablen-Typ (z.B. uint16_t) und ein Name zugeordnet. Der Messzeitpunkt wird automatisch erfasst. Es kann außerdem ein Skalier-Faktor, die Linien-Farbe und Linien-Breite definiert werden. Für einen Plug-and-Play Anschluss an das Software-Oszilloskop es:scope kann vorab ausgewählt werden, in welchen Plot-Fenstern die Signale angezeigt werden sollen.

Interaction with es:scope

  1. Initiation of data exchange: This function starts the data exchange with es:scope. This means that in addition to sending the measurement data to the computer, data can also be received from the computer side.
  2. Query current values: This function queries the current values for a specific signal from the es:scope page.
  3. Recording control: This function sends a recording command to the computer or stops recording.
 

Roadmap

We are currently working on sending commands asynchronously from es:scope to es:prot. We are extending the structure of the protocol to enable extended functionality without compromising performance.

en_USEnglish