Skip to content

Serial API

Salavat Magazov edited this page May 21, 2022 · 13 revisions

Communication Data Schema

API

The environmental control subsystem supports two types of API:

  • JSON wrapped commands
  • Simple string commands
    Both formats are discussed in detail in corresponding sections. It should be noted that the result of execution of a command does not depend on the format in which it was sent.

Application API

This is API that is used for the purpose of executing application functions and retrieving data pertaining to the status of the processes initiated by the application. For example, setting target temperature for the incubator and monitoring current temperature of the incubator.

Machine telemetry API

This is API that is used for the purpose of monitoring machine health and performance and detecting errors and warnings. For example, monitoring noise on the temperature sensor lines, incoming and internally generated supply voltage, and total current consumption of the machine.

Diagnostic API

This is API that is used for the purpose of routine maintenance, service, and fault diagnostic.

Developer API

This is API that will not be documented anywhere other than source code and should only be present in debug builds of the firmware. This API is created by developers for developers. It should be considered extremely dangerous and can lead to serious damage to the machine and personnel. If you somehow obtain commands from developer API, DO NOT try sending them. Chances are they will not be recognised; but if by some freak chance they are recognised and executed you are risking serious damage to yourself and the machine. These commands will be logged internally and we will find out about it, so your warranty will be void.

Clone this wiki locally