|  | 
| 45 | 45 | ) | 
| 46 | 46 | 
 | 
| 47 | 47 | 
 | 
| 48 |  | -def hide_run_button() -> None: | 
| 49 |  | -    """hide_run_button is used to disable run button when DAQ error pops up.""" | 
| 50 |  | -    st.markdown( | 
| 51 |  | -        """ | 
| 52 |  | -        <style> | 
| 53 |  | -        button[data-testid="stBaseButton-secondary"] { | 
| 54 |  | -            display: none; | 
| 55 |  | -        } | 
| 56 |  | -        </style> | 
| 57 |  | -        """, | 
| 58 |  | -        unsafe_allow_html=True, | 
| 59 |  | -    ) | 
| 60 |  | - | 
| 61 |  | - | 
| 62 | 48 | with left_col: | 
| 63 | 49 |     with st.container(border=True): | 
| 64 |  | -        is_running = panel.get_value("is_running", True) | 
| 65 |  | -        if is_running: | 
| 66 |  | -            st.button("Stop", key="stop_button") | 
| 67 |  | -        else: | 
| 68 |  | -            run_button = st.button("Run", key="run_button") | 
| 69 |  | -        if panel.get_value("daq_error", "") == "": | 
| 70 |  | -            pass | 
| 71 |  | -        else: | 
| 72 |  | -            hide_run_button() | 
| 73 |  | -            st.error(panel.get_value("daq_error", "") + " Please re-run script") | 
| 74 |  | - | 
| 75 |  | -        st.title("Channel Settings") | 
| 76 |  | -        physical_channel = st.selectbox( | 
| 77 |  | -            options=panel.get_value("available_channel_names", ["Mod2/ai0"]), | 
| 78 |  | -            index=0, | 
| 79 |  | -            label="Physical Channels", | 
| 80 |  | -            disabled=panel.get_value("is_running", False), | 
| 81 |  | -        ) | 
| 82 |  | -        panel.set_value("physical_channel", physical_channel) | 
| 83 |  | -        enum_selectbox( | 
| 84 |  | -            panel, | 
| 85 |  | -            label="Terminal Configuration", | 
| 86 |  | -            value=TerminalConfiguration.DEFAULT, | 
| 87 |  | -            disabled=panel.get_value("is_running", False), | 
| 88 |  | -            key="terminal_configuration", | 
| 89 |  | -        ) | 
|  | 50 | +        with st.container(border=True): | 
|  | 51 | +            if panel.get_value("is_running", True): | 
|  | 52 | +                st.button("Stop", key="stop_button") | 
|  | 53 | +            elif not panel.get_value("is_running", True) and panel.get_value("daq_error", "") == "": | 
|  | 54 | +                run_button = st.button("Run", key="run_button") | 
|  | 55 | +            else: | 
|  | 56 | +                st.error( | 
|  | 57 | +                    f"There was an error running the script. Fix the issue and re-run nidaqmx_analog_input_filtering.py \n\n {panel.get_value('daq_error', '')}" | 
|  | 58 | +                ) | 
|  | 59 | +            st.title("Channel Settings") | 
|  | 60 | +            physical_channel = st.selectbox( | 
|  | 61 | +                options=panel.get_value("available_channel_names", ["Mod2/ai0"]), | 
|  | 62 | +                index=0, | 
|  | 63 | +                label="Physical Channels", | 
|  | 64 | +                disabled=panel.get_value("is_running", False), | 
|  | 65 | +            ) | 
|  | 66 | +            panel.set_value("physical_channel", physical_channel) | 
|  | 67 | +            enum_selectbox( | 
|  | 68 | +                panel, | 
|  | 69 | +                label="Terminal Configuration", | 
|  | 70 | +                value=TerminalConfiguration.DEFAULT, | 
|  | 71 | +                disabled=panel.get_value("is_running", False), | 
|  | 72 | +                key="terminal_configuration", | 
|  | 73 | +            ) | 
| 90 | 74 | 
 | 
| 91 |  | -        st.title("Timing Settings") | 
|  | 75 | +            st.title("Timing Settings") | 
| 92 | 76 | 
 | 
| 93 |  | -        source = st.selectbox( | 
| 94 |  | -            "Sample Clock Source", | 
| 95 |  | -            options=panel.get_value("available_trigger_sources", [""]), | 
| 96 |  | -            index=0, | 
| 97 |  | -            disabled=panel.get_value("is_running", False), | 
| 98 |  | -        ) | 
| 99 |  | -        panel.set_value("source", source) | 
| 100 |  | -        st.number_input( | 
| 101 |  | -            "Sample Rate", | 
| 102 |  | -            value=1000.0, | 
| 103 |  | -            min_value=1.0, | 
| 104 |  | -            step=1.0, | 
| 105 |  | -            disabled=panel.get_value("is_running", False), | 
| 106 |  | -            key="rate", | 
| 107 |  | -        ) | 
| 108 |  | -        st.number_input( | 
| 109 |  | -            "Number of Samples", | 
| 110 |  | -            value=100, | 
| 111 |  | -            min_value=1, | 
| 112 |  | -            step=1, | 
| 113 |  | -            disabled=panel.get_value("is_running", False), | 
| 114 |  | -            key="total_samples", | 
| 115 |  | -        ) | 
| 116 |  | -        st.number_input( | 
| 117 |  | -            "Actual Sample Rate", | 
| 118 |  | -            value=panel.get_value("sample_rate", 1000.0), | 
| 119 |  | -            key="actual_sample_rate", | 
| 120 |  | -            step=1.0, | 
| 121 |  | -            disabled=True, | 
| 122 |  | -        ) | 
| 123 |  | -        st.title("Filtering Settings") | 
|  | 77 | +            source = st.selectbox( | 
|  | 78 | +                "Sample Clock Source", | 
|  | 79 | +                options=panel.get_value("available_trigger_sources", [""]), | 
|  | 80 | +                index=0, | 
|  | 81 | +                disabled=panel.get_value("is_running", False), | 
|  | 82 | +            ) | 
|  | 83 | +            panel.set_value("source", source) | 
|  | 84 | +            st.number_input( | 
|  | 85 | +                "Sample Rate", | 
|  | 86 | +                value=1000.0, | 
|  | 87 | +                min_value=1.0, | 
|  | 88 | +                step=1.0, | 
|  | 89 | +                disabled=panel.get_value("is_running", False), | 
|  | 90 | +                key="rate", | 
|  | 91 | +            ) | 
|  | 92 | +            st.number_input( | 
|  | 93 | +                "Number of Samples", | 
|  | 94 | +                value=100, | 
|  | 95 | +                min_value=1, | 
|  | 96 | +                step=1, | 
|  | 97 | +                disabled=panel.get_value("is_running", False), | 
|  | 98 | +                key="total_samples", | 
|  | 99 | +            ) | 
|  | 100 | +            st.number_input( | 
|  | 101 | +                "Actual Sample Rate", | 
|  | 102 | +                value=panel.get_value("sample_rate", 1000.0), | 
|  | 103 | +                key="actual_sample_rate", | 
|  | 104 | +                step=1.0, | 
|  | 105 | +                disabled=True, | 
|  | 106 | +            ) | 
|  | 107 | +            st.title("Filtering Settings") | 
| 124 | 108 | 
 | 
| 125 |  | -        filter = st.selectbox( | 
| 126 |  | -            "Filter", | 
| 127 |  | -            options=["No Filtering", "Filter"], | 
| 128 |  | -            disabled=panel.get_value("is_running", False), | 
| 129 |  | -        ) | 
| 130 |  | -        panel.set_value("filter", filter) | 
| 131 |  | -        enum_selectbox( | 
| 132 |  | -            panel, | 
| 133 |  | -            label="Filter Response", | 
| 134 |  | -            value=FilterResponse.COMB, | 
| 135 |  | -            disabled=panel.get_value("is_running", False), | 
| 136 |  | -            key="filter_response", | 
| 137 |  | -        ) | 
|  | 109 | +            filter = st.selectbox( | 
|  | 110 | +                "Filter", | 
|  | 111 | +                options=["No Filtering", "Filter"], | 
|  | 112 | +                disabled=panel.get_value("is_running", False), | 
|  | 113 | +            ) | 
|  | 114 | +            panel.set_value("filter", filter) | 
|  | 115 | +            enum_selectbox( | 
|  | 116 | +                panel, | 
|  | 117 | +                label="Filter Response", | 
|  | 118 | +                value=FilterResponse.COMB, | 
|  | 119 | +                disabled=panel.get_value("is_running", False), | 
|  | 120 | +                key="filter_response", | 
|  | 121 | +            ) | 
| 138 | 122 | 
 | 
| 139 |  | -        filter_freq = st.number_input( | 
| 140 |  | -            "Filtering Frequency", | 
| 141 |  | -            value=1000.0, | 
| 142 |  | -            step=1.0, | 
| 143 |  | -            disabled=panel.get_value("is_running", False), | 
| 144 |  | -        ) | 
| 145 |  | -        filter_order = st.number_input( | 
| 146 |  | -            "Filter Order", | 
| 147 |  | -            min_value=0, | 
| 148 |  | -            max_value=1, | 
| 149 |  | -            value=1, | 
| 150 |  | -            disabled=panel.get_value("is_running", False), | 
| 151 |  | -        ) | 
| 152 |  | -        st.selectbox( | 
| 153 |  | -            "Actual Filter Frequency", | 
| 154 |  | -            options=[panel.get_value("actual_filter_freq", 0.0)], | 
| 155 |  | -            disabled=True, | 
| 156 |  | -        ) | 
| 157 |  | -        st.selectbox( | 
| 158 |  | -            "Actual Filter Order", | 
| 159 |  | -            options=[panel.get_value("actual_filter_order", 0)], | 
| 160 |  | -            disabled=True, | 
| 161 |  | -        ) | 
|  | 123 | +            filter_freq = st.number_input( | 
|  | 124 | +                "Filtering Frequency", | 
|  | 125 | +                value=1000.0, | 
|  | 126 | +                step=1.0, | 
|  | 127 | +                disabled=panel.get_value("is_running", False), | 
|  | 128 | +            ) | 
|  | 129 | +            filter_order = st.number_input( | 
|  | 130 | +                "Filter Order", | 
|  | 131 | +                min_value=0, | 
|  | 132 | +                max_value=1, | 
|  | 133 | +                value=1, | 
|  | 134 | +                disabled=panel.get_value("is_running", False), | 
|  | 135 | +            ) | 
|  | 136 | +            st.selectbox( | 
|  | 137 | +                "Actual Filter Frequency", | 
|  | 138 | +                options=[panel.get_value("actual_filter_freq", 0.0)], | 
|  | 139 | +                disabled=True, | 
|  | 140 | +            ) | 
|  | 141 | +            st.selectbox( | 
|  | 142 | +                "Actual Filter Order", | 
|  | 143 | +                options=[panel.get_value("actual_filter_order", 0)], | 
|  | 144 | +                disabled=True, | 
|  | 145 | +            ) | 
| 162 | 146 | 
 | 
| 163 | 147 | with right_col: | 
| 164 | 148 |     st.title("Task Types") | 
|  | 
0 commit comments