7
mirror of https://github.com/EEVengers/ThunderScope.git synced 2025-04-22 17:43:44 +00:00

Merge pull request from EEVengers/electron-pipe

Add setChHelper
This commit is contained in:
ratanvarghese 2021-03-22 23:15:35 -04:00 committed by GitHub
commit 4ce48f496b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 0 deletions
Software/waveview/src
configuration/enums
util

View File

@ -0,0 +1,7 @@
enum SetChMode {
single = 0x01,
dual = 0x02,
quad = 0x04
}
export default SetChMode;

View File

@ -0,0 +1,54 @@
import setChMode from '../configuration/enums/setChMode';
export interface SetChState {
setCh: setChMode,
setTriggerCh: number,
chOrder: number[]
}
export function setChHelper(
ch1: boolean,
ch2: boolean,
ch3: boolean,
ch4: boolean,
triggerCh: number
): SetChState {
let chList = [ch1, ch2, ch3, ch4];
let triggerChIdx = triggerCh - 1;
let quadChOrder = [1, 2, 3, 4];
var chOrder = quadChOrder.filter((a, i) => chList[i] || triggerChIdx == i);
var setCh = chOrder.length as setChMode;
if(setCh == 3) {
chOrder = quadChOrder;
setCh = quadChOrder.length;
}
let setTriggerCh = chOrder.indexOf(triggerCh) + 1;
return {
setCh: setCh,
setTriggerCh: setTriggerCh,
chOrder: chOrder
}
}
//Since I bothered writing this, might as well keep it.
export function logAllSetChHelper() {
var res = []
let flip = [true, false];
for(let ch1 of flip) {
for(let ch2 of flip) {
for(let ch3 of flip) {
for(let ch4 of flip) {
for(var i = 1; i <= 4; i++) {
res.push({
in: {ch1: ch1, ch2: ch2, ch3: ch3, ch4: ch4, i: i},
out: setChHelper(ch1, ch2, ch3, ch4, i)
});
}
}
}
}
}
console.log(res);
}