@@ -13,24 +13,18 @@ const loadBalancer = window.require('electron-load-balancer');
1313class LogicAnalyzer extends Component {
1414 constructor ( props ) {
1515 super ( props ) ;
16- this . captureTimeList = [ 0.05 , 0.1 , 0.25 , 0.5 , 1 , 2 ] ;
1716 this . state = {
18- captureTimeIndex : 0 ,
1917 isReading : false ,
18+ isAutoReading : true ,
2019 numberOfChannels : 1 ,
2120 channel1Map : 'ID1' ,
2221 channel2Map : 'ID2' ,
2322 trigger1Type : 1 ,
2423 trigger2Type : 1 ,
2524 trigger3Type : 1 ,
2625 trigger4Type : 1 ,
27- timeMeasureChannel1 : 'ID1' ,
28- timeMeasureChannel2 : 'ID2' ,
29- timeMeasuretrigger1Type : 1 ,
30- timeMeasuretrigger2Type : 1 ,
31- timeMeasureWrite1 : 1 ,
32- timeMeasureWrite2 : 2 ,
33- timeout : 10 ,
26+ captureTime : 1 , // ms
27+ maxCaptureTime : 1e3 , // ms
3428 } ;
3529 }
3630
@@ -49,7 +43,7 @@ class LogicAnalyzer extends Component {
4943 trigger4Type,
5044 } = args ;
5145 this . setState ( {
52- captureTimeIndex : this . captureTimeList . indexOf ( captureTime ) ,
46+ captureTime,
5347 numberOfChannels,
5448 trigger1Type,
5549 trigger2Type,
@@ -80,7 +74,7 @@ class LogicAnalyzer extends Component {
8074 sendConfigToDevice = debounce ( ( ) => {
8175 const { isConnected } = this . props ;
8276 const {
83- captureTimeIndex ,
77+ captureTime ,
8478 numberOfChannels,
8579 trigger1Type,
8680 trigger2Type,
@@ -90,7 +84,7 @@ class LogicAnalyzer extends Component {
9084 isConnected &&
9185 loadBalancer . sendData ( ipcRenderer , 'linker' , {
9286 command : 'SET_CONFIG_LA' ,
93- captureTime : this . captureTimeList [ captureTimeIndex ] ,
87+ captureTime : captureTime ,
9488 numberOfChannels,
9589 trigger1Type,
9690 trigger2Type,
@@ -112,6 +106,9 @@ class LogicAnalyzer extends Component {
112106 } ) ;
113107 }
114108 } ;
109+ toggleAutoRead = ( ) => {
110+ this . setState ( prevState => ( { isAutoReading : ! prevState . isAutoReading } ) ) ;
111+ } ;
115112
116113 changeNumberOfChannels = event => {
117114 this . setState (
@@ -139,30 +136,10 @@ class LogicAnalyzer extends Component {
139136 ) ;
140137 } ;
141138
142- changeTimeMeasureChannel = channelName => event => {
143- this . setState ( {
144- [ channelName ] : event . target . value ,
145- } ) ;
146- } ;
147- changeTimeMeasureTriggerType = triggerNumber => event => {
148- this . setState ( {
149- [ triggerNumber ] : event . target . value ,
150- } ) ;
151- } ;
152- changeTimeMeasureWrite = writeNumber => event => {
153- this . setState ( {
154- [ writeNumber ] : event . target . value ,
155- } ) ;
156- } ;
157- changeTimeout = ( event , value ) => {
158- this . setState ( {
159- timeout : value ,
160- } ) ;
161- } ;
162- onChangeCaptureTimeIndex = ( event , value ) => {
139+ onChangeCaptureTime = ( event , value ) => {
163140 this . setState (
164141 ( ) => ( {
165- captureTimeIndex : value ,
142+ captureTime : value / 1e3 , // convert μs to ms
166143 } ) ,
167144 ( ) => {
168145 this . sendConfigToDevice ( ) ;
@@ -172,21 +149,16 @@ class LogicAnalyzer extends Component {
172149 render ( ) {
173150 const {
174151 isReading,
152+ isAutoReading,
175153 numberOfChannels,
176154 channel1Map,
177155 channel2Map,
178156 trigger1Type,
179157 trigger2Type,
180158 trigger3Type,
181159 trigger4Type,
182- timeMeasureChannel1,
183- timeMeasureChannel2,
184- timeMeasuretrigger1Type,
185- timeMeasuretrigger2Type,
186- timeMeasureWrite1,
187- timeMeasureWrite2,
188- timeout,
189- captureTimeIndex,
160+ captureTime,
161+ maxCaptureTime,
190162 } = this . state ;
191163 const { isConnected } = this . props ;
192164 return (
@@ -200,38 +172,29 @@ class LogicAnalyzer extends Component {
200172 trigger2Type = { trigger2Type }
201173 trigger3Type = { trigger3Type }
202174 trigger4Type = { trigger4Type }
203- timeMeasureChannel1 = { timeMeasureChannel1 }
204- timeMeasureChannel2 = { timeMeasureChannel2 }
205- timeMeasuretrigger1Type = { timeMeasuretrigger1Type }
206- timeMeasuretrigger2Type = { timeMeasuretrigger2Type }
207- timeMeasureWrite1 = { timeMeasureWrite1 }
208- timeMeasureWrite2 = { timeMeasureWrite2 }
209- timeout = { timeout }
210175 changeNumberOfChannels = { this . changeNumberOfChannels }
211176 changeChannelMap = { this . changeChannelMap }
212177 changeTriggerType = { this . changeTriggerType }
213- changeTimeMeasureChannel = { this . changeTimeMeasureChannel }
214- changeTimeMeasureTriggerType = { this . changeTimeMeasureTriggerType }
215- changeTimeMeasureWrite = { this . changeTimeMeasureWrite }
216- changeTimeout = { this . changeTimeout }
217- captureTimeIndex = { captureTimeIndex }
218- captureTime = { this . captureTimeList [ captureTimeIndex ] }
219- onChangeCaptureTimeIndex = { this . onChangeCaptureTimeIndex }
220- captureTimeListLength = { this . captureTimeList . length }
178+ onChangeCaptureTime = { this . onChangeCaptureTime }
179+ captureTime = { captureTime }
180+ maxCaptureTime = { maxCaptureTime }
221181 />
222182 }
223183 actionButtons = {
224184 < ActionButtons
225185 isConnected = { isConnected }
226186 isReading = { isReading }
227187 toggleRead = { this . toggleRead }
188+ isAutoReading = { isAutoReading }
189+ toggleAutoRead = { this . toggleAutoRead }
228190 />
229191 }
230192 graph = {
231193 < Graph
232194 isReading = { isReading }
233- numberOfChannels = { numberOfChannels }
234195 toggleRead = { this . toggleRead }
196+ isAutoReading = { isAutoReading }
197+ numberOfChannels = { numberOfChannels }
235198 dataPath = { this . props . dataPath }
236199 />
237200 }
0 commit comments