{{_('Input')}}

{% for each_order_input_id in display_order_input -%} {%- set all_input = table_input.query.filter(table_input.unique_id == each_order_input_id).all() -%} {%- if all_input -%} {%- for each_input in all_input -%}
{{form_mod_input.csrf_token}} {{form_mod_input.input_id(value=each_input.unique_id)}} {% set form = form_mod_input %} {% set dict_options = dict_inputs[each_input.device] %} {% set each_device = each_input %} {% set unique_id = each_input.unique_id %} {% set custom_options_values = custom_options_values_inputs %}
{% if each_input.is_activated -%} {%- set has_active_pid = [] -%} {%- for each_pid in pid if each_pid.measurement.split(',')[0] == each_input.unique_id and each_pid.is_activated -%} {%- do has_active_pid.append(1) -%} {%- endfor -%} {% if has_active_pid -%} {{form_mod_input.input_deactivate(class_='form-control btn btn-primary btn-sm',**{'onclick':'return confirm("There are currently active PID controllers that rely on this Input to be active. Select OK to deactivate this input and all associated PID controllers, otherwise click Cancel to leave them active.")'})}} {% else -%} {{form_mod_input.input_deactivate(class_='form-control btn btn-primary btn-sm')}} {% endif -%} {% else -%} {{form_mod_input.input_activate(class_='form-control btn btn-primary btn-sm')}} {% endif -%}
{{form_mod_input.input_order_up(class_='form-control btn btn-primary btn-sm btn-block')}}
{{form_mod_input.input_order_down(class_='form-control btn btn-primary btn-sm btn-block')}}
{% if each_input.device in ['RPiCPULoad', 'RPiFreeSpace'] -%} {% endif -%}
{{form_mod_input.input_mod(class_='form-control btn btn-primary btn-sm btn-block')}}
{% if has_active_pid or has_active_lcd -%} {{form_mod_input.input_delete(class_='form-control btn btn-primary btn-sm btn-block',**{'onclick':'return confirm("Note: there are currently an active PID that relies on this to operate. Deleting it will deactivate the PID. Are you sure you want to delete this?")'})}} {% else -%} {{form_mod_input.input_delete(class_='form-control btn btn-primary btn-sm btn-block',**{'onclick':'return confirm("Are you sure you want to delete this?")'})}} {% endif -%}
{% if each_input.device in dict_inputs %}
{% if 'input_manufacturer' in dict_inputs[each_input.device] %}
{{_("Manufacturer")}}: {{dict_inputs[each_input.device]['input_manufacturer']}}
{% endif %} {% if 'input_name' in dict_inputs[each_input.device] %}
{{_("Name")}}: {{dict_inputs[each_input.device]['input_name']}}
{% endif %} {% if 'measurements_name' in dict_inputs[each_input.device] %}
{{_("Measurements")}}: {{dict_inputs[each_input.device]['measurements_name']}}
{% endif %} {% if 'dependencies_module' in dict_inputs[each_input.device] and dict_inputs[each_input.device]['dependencies_module'] %}
{{_("Library")}}: {% for each_lib in dict_inputs[each_input.device]['dependencies_module'] -%} {% if each_lib[0] == 'pip-pypi' %} {% if "==" in each_lib[2] %} {{each_lib[2].split('==')[0]}} {% else %} {{each_lib[2]}} {% endif %} {% elif each_lib[0] == 'internal' %} {{each_lib[2]}} {% else %} {{each_lib[1]}} {% endif %} {%- if not loop.last %}, {% endif %} {% endfor %}
{% endif %} {% set manufacturer_url = 'url_manufacturer' in dict_inputs[each_input.device] and dict_inputs[each_input.device]['url_manufacturer'] %} {% set datasheet_url = 'url_datasheet' in dict_inputs[each_input.device] and dict_inputs[each_input.device]['url_datasheet'] %} {% set product_purchase_url = 'url_product_purchase' in dict_inputs[each_input.device] and dict_inputs[each_input.device]['url_product_purchase'] %} {% set additional_url = 'url_additional' in dict_inputs[each_input.device] and dict_inputs[each_input.device]['url_additional'] %} {% if manufacturer_url or datasheet_url or product_purchase_url or additional_url %}
{{_("Literature") + ": "}} {%- if manufacturer_url -%} {{_("Manufacturer")}} {% for each_url in dict_inputs[each_input.device]['url_manufacturer'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if datasheet_url -%} {% if manufacturer_url %}; {% endif -%} {{_("Datasheet")}} {% for each_url in dict_inputs[each_input.device]['url_datasheet'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if product_purchase_url -%} {% if manufacturer_url or datasheet_url %}; {% endif -%} {{_("Product")}} {% for each_url in dict_inputs[each_input.device]['url_product_purchase'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if additional_url -%} {% if manufacturer_url or datasheet_url or product_purchase_url %}; {% endif -%} {{_("Additional")}} {% for each_url in dict_inputs[each_input.device]['url_additional'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%}.
{% endif %} {% if 'message' in dict_inputs[each_input.device] %}
{{dict_inputs[each_input.device]['message']|safe}}
{% endif %}
{{_('Actions')}}
{% include 'pages/form_options/Custom_Actions_Message.html' %}
{{form_mod_input.input_acquire_measurements(class_='form-control btn btn-primary btn-sm btn-block')}}
{% if each_input.device in custom_actions and custom_actions[each_input.device] %} {% set force_default_value = true %} {% if 'custom_actions' in dict_options %} {% for each_option in dict_options['custom_actions'] %} {% if each_option['type'] == 'new_line' %}
{% elif each_option['type'] == 'message' %}
{{each_option['default_value']|safe}}
{% else %} {% include 'pages/form_options/Custom_Options.html' %} {% endif %} {% endfor %} {% endif %} {% endif %}
{{_('Options')}}
{{form_mod_input.name.label(class_='control-label')}}
{{form_mod_input.name(class_='form-control', value=each_input.name, **{'title': dict_translation['name']['phrase']})}}
{{form_mod_input.log_level_debug.label(class_='control-label')}}
{% include 'pages/form_options/Interface.html' %} {% include 'pages/form_options/GPIO.html' %} {% include 'pages/form_options/Bluetooth.html' %} {% include 'pages/form_options/I2C.html' %} {% include 'pages/form_options/FTDI.html' %} {% include 'pages/form_options/UART.html' %} {% include 'pages/form_options/Baud_Rate.html' %} {% include 'pages/form_options/Location.html' %} {% include 'pages/form_options/Period.html' %} {% include 'pages/form_options/Start_Offset.html' %} {% include 'pages/form_options/Pre_Output.html' %} {% include 'pages/form_options/Num_channels.html' %} {% include 'pages/form_options/Measurements_Enabled.html' %} {# TODO: move many of the below options from database columns to custom options at next major revision #} {% include 'pages/form_options/Single_Input_Math.html' %} {% include 'pages/form_options/EDGE.html' %} {% include 'pages/form_options/Times_Check.html' %} {% include 'pages/form_options/Deadline.html' %} {% include 'pages/form_options/Port.html' %} {% include 'pages/form_options/RPM_Pulses_Rev.html' %} {% include 'pages/form_options/Weighting.html' %} {% include 'pages/form_options/Sample_Time.html' %} {% include 'pages/form_options/SHT_Voltage.html' %} {% include 'pages/form_options/Pin_Clock.html' %} {% include 'pages/form_options/Ref_Ohm.html' %} {% include 'pages/form_options/Thermocouple_Type.html' %} {% include 'pages/form_options/Resolution.html' %} {% include 'pages/form_options/Resolution_2.html' %} {% include 'pages/form_options/Sensitivity.html' %} {% include 'pages/form_options/ADC_Gain.html' %} {% include 'pages/form_options/ADC_Resolution.html' %} {% include 'pages/form_options/ADC_Sample_Speed.html' %} {% include 'pages/form_options/Shell_Command.html' %}
{% if ('custom_options' in dict_options and custom_options_values[unique_id]) or 'custom_options_message' in dict_options %} {% set force_default_value = false %}
{{_('Custom Options')}}
{% include 'pages/form_options/Custom_Options_Message.html' %} {% if 'custom_options' in dict_options %} {% for each_option in dict_options['custom_options'] %} {% if each_option['type'] == 'new_line' %}
{% elif each_option['type'] == 'message' %}
{{each_option['default_value']|safe}}
{% else %} {% include 'pages/form_options/Custom_Options.html' %} {% endif %} {% endfor %} {% endif %}
{% endif %} {%- set input_channel_exists = [] -%} {% for each_input_channel in input_channel if each_input_channel.input_id == each_input.unique_id %} {%- do input_channel_exists.append(1) -%} {% endfor %} {% if input_channel_exists %}
{{_('Channel Options')}}
{% endif %} {% set custom_options_values = custom_options_values_input_channels %} {% for each_input_channel in input_channel if each_input_channel.input_id == each_input.unique_id %} {% set dict_options = dict_inputs[each_input.device] %} {% set unique_id = each_input.unique_id %} {% set channel = each_input_channel.channel %} {% set each_device = each_input %} {% set controller_type = "Input" %}
Channel {{each_input_channel.channel}} {%- if 'name' in custom_options_values[each_input.unique_id][each_input_channel.channel] and custom_options_values[each_input.unique_id][each_input_channel.channel]['name'] -%} {{': ' + custom_options_values[each_input.unique_id][each_input_channel.channel]['name']}} {%- elif 'channels_dict' in dict_inputs[each_input.device] and 'name' in dict_inputs[each_input.device]['channels_dict'][each_input_channel.channel] -%} {{': ' + dict_inputs[each_input.device]['channels_dict'][each_input_channel.channel]['name']}} {%- endif -%}
{% if custom_options_values[unique_id] %} {% if 'custom_channel_options_message' in dict_options %}
{{dict_options['custom_channel_options_message']|safe}}
{% endif %} {% if 'custom_channel_options' in dict_options %}
{% for each_option in dict_options['custom_channel_options'] %} {% if each_option['type'] == 'new_line' %}
{% elif each_option['type'] == 'message' %}
{{each_option['default_value']|safe}}
{% else %} {% include 'pages/form_options/Custom_Options_Channels.html' %} {% endif %} {% endfor %}
{% endif %} {% endif %} {% endfor %} {% endif %}
{{_('Measurement Settings')}}
{% if "measurements_variable_amount" in dict_options and dict_options['measurements_variable_amount'] %} {% include 'pages/form_options/Measurements_Select.html' %} {% endif %} {% include 'pages/form_options/Measurements_Configure.html' %}
{%- endfor -%} {%- endif -%} {%- endfor -%} {%- if display_order_input -%}
{{form_base.csrf_token}}
{{form_base.reorder(class_='btn btn-primary')}}
{{form_base.reorder_type(class_='form-control', value='input')}}
{%- endif -%}