System Interfaces

API

measurement_server.views.calibration.calibrationView(request, *args, **kwargs)
Parameters:
  • request (HttpRequest) – Request from user interface

  • serial_number (str, optional) – Sensor serial number

Returns:

On POST request a JSON dictionary with an ERROR or a SUCCESS key is returned. On GET sensor calibration values are returned as a string defining the calibration function. An empty list is returned if no calibrations are registered for that sensor. If the serial number is unknown an empty dictionary is returned. If no serial number is parsed a list of all available serial numbers is returned.

Return type:

rest_framework.response.Response

measurement_server.views.data.data_last(request, id: int, n: int = 10)

Return last n values of a measurement with a given id. This is the goto function for online data monitoring or retrieving controll values.

Parameters:
  • request (HttpRequest) – Request from user interface

  • id (int) –

  • n (int, optional) – Number of most recent measurement values.

Returns:

If no measurement is present, only an error entry is returned. Otherwise, measurement values together with sensor information are wrapped in JSON.

Return type:

JsonResponse

measurement_server.views.data.data_last_current(request, n: int)

Return last n values of the most recent measurement. For more detail see measurement_server.views.data.data_last().

Parameters:
  • request (HttpRequest) – Request from user interface

  • id (int) – Measurement object primary key

  • n (int) – Number of most recent measurement values

Returns:

If no measurement is present, only an error entry is returned. Otherwise, measurement values together with sensor information are wrapped in JSON.

Return type:

JsonResponse

measurement_server.views.data.data_plot(request, id: int)

There are multiple possible modes

  1. The measurement has just started. Data is only in Database. Data will be streamed directly from the database without averaging

  2. The measurement is running for a longer time. In this case averaging will be perfomred to reduce the amount of data that has to be displayed all new datapoints are in the plot without averaging (handled in js)

  3. The measurement has been stopped. In this case the hole data set is displayed using binned averaging

System settings stored in most recent Measurement database entry control the average calculation.

  • avg_bucket_size - time width for wich a binned time average is

    calculated (timestamps indicate the beginning of the bucket)

  • plot_period - indicates the plot duration in minutes measured

    backwards from most recent measurement value (bucket average is applied first)

If the cutoff defined via plot_period intersects a time bucket the first timestamp exceeds the cutoff to meet the start time of the bucket.

Parameters:
  • request (HttpRequest) – Request from user interface

  • id (int) – Measurement object primary key

Returns:

A JSON formatted string containing a dictionary of plotting values including sensor identifiers, measurement_values, associated_sensor colors etc.

Return type:

JsonResponse

GUI

Declaration of views for main interface

measurement_server.views.gui.data_live(request)
measurement_server.views.gui.data_selected_visualization(request)
measurement_server.views.gui.data_visualization(request, ignore_plot_show=True)
measurement_server.views.gui.documentation(request)

Displays all hardware datasheets

measurement_server.views.gui.home(request)
measurement_server.views.gui.init_devices(request)

start and display ftdi and sensor initialization

measurement_server.views.gui.init_measurement(request)

set time, duration, frequency of measurement, name of measurement

measurement_server.views.legacy_data_live.legacy_data_live(request)

Declaration of views for main interface

measurement_server.views.settings.settingsView(request, tabname='')