Explorar o código

Removed debug. Final testing

martin gillow %!s(int64=6) %!d(string=hai) anos
pai
achega
db662a7662
Modificáronse 1 ficheiros con 20 adicións e 19 borrados
  1. 20 19
      src/core/operations/Lorenz.mjs

+ 20 - 19
src/core/operations/Lorenz.mjs

@@ -288,7 +288,6 @@ class Lorenz extends Operation {
         	if (lugx4.length != 26 || !re.test(lugx4) ) throw new OperationError("Χ4 custom lugs must be 26 long and can only include . or x");
         	if (lugx4.length != 26 || !re.test(lugx4) ) throw new OperationError("Χ4 custom lugs must be 26 long and can only include . or x");
         	if (lugx5.length != 23 || !re.test(lugx5) ) throw new OperationError("Χ5 custom lugs must be 23 long and can only include . or x");
         	if (lugx5.length != 23 || !re.test(lugx5) ) throw new OperationError("Χ5 custom lugs must be 23 long and can only include . or x");
         	var chosenSetting = INIT_PATTERNS["No Pattern"];
         	var chosenSetting = INIT_PATTERNS["No Pattern"];
-        	console.log(chosenSetting);
         	chosenSetting["S"][1] = this.readLugs(lugs1);
         	chosenSetting["S"][1] = this.readLugs(lugs1);
         	chosenSetting["S"][2] = this.readLugs(lugs2);
         	chosenSetting["S"][2] = this.readLugs(lugs2);
         	chosenSetting["S"][3] = this.readLugs(lugs3);
         	chosenSetting["S"][3] = this.readLugs(lugs3);
@@ -301,7 +300,6 @@ class Lorenz extends Operation {
         	chosenSetting["X"][3] = this.readLugs(lugx3);
         	chosenSetting["X"][3] = this.readLugs(lugx3);
         	chosenSetting["X"][4] = this.readLugs(lugx4);
         	chosenSetting["X"][4] = this.readLugs(lugx4);
         	chosenSetting["X"][5] = this.readLugs(lugx5);
         	chosenSetting["X"][5] = this.readLugs(lugx5);
-        	console.log(chosenSetting);
         } else {
         } else {
         	var chosenSetting = INIT_PATTERNS[pattern];
         	var chosenSetting = INIT_PATTERNS[pattern];
         }
         }
@@ -317,7 +315,7 @@ class Lorenz extends Operation {
 	        	var letter = character.toUpperCase();
 	        	var letter = character.toUpperCase();
 	            
 	            
 	        	if(intype == "Plaintext") {
 	        	if(intype == "Plaintext") {
-		            if (validChars.indexOf(letter) === -1) throw new OperationError("Invalid Plaintext character");
+		            if (validChars.indexOf(letter) === -1) throw new OperationError("Invalid Plaintext character : "+letter);
 
 
 		            if( !figShifted && figShiftedChars.indexOf(letter) !== -1 ) {
 		            if( !figShifted && figShiftedChars.indexOf(letter) !== -1 ) {
 		            	// in letters mode and next char needs to be figure shifted
 		            	// in letters mode and next char needs to be figure shifted
@@ -342,8 +340,12 @@ class Lorenz extends Operation {
 
 
 	        	} else {
 	        	} else {
 
 
-	        		if (validITA2.indexOf(letter) === -1) throw new OperationError("Invalid ITA2 character");
-	        		
+	        		if (validITA2.indexOf(letter) === -1) {
+                        var errltr = letter;
+                        if(errltr=="\n") errltr = "Carriage Return";
+                        if(errltr==" ") errltr = "Space";
+                        throw new OperationError("Invalid ITA2 character : "+errltr);
+	        		}
 	        		return letter;
 	        		return letter;
 
 
 	        	}
 	        	}
@@ -355,28 +357,30 @@ class Lorenz extends Operation {
         	// Receive input should always be ITA2
         	// Receive input should always be ITA2
 	        ita2 = Array.prototype.map.call(input, function(character) {
 	        ita2 = Array.prototype.map.call(input, function(character) {
 	        	var letter = character.toUpperCase();
 	        	var letter = character.toUpperCase();
-	        	if (validITA2.indexOf(letter) === -1) throw new OperationError("Invalid ITA2 character");
+	        	if (validITA2.indexOf(letter) === -1) {
+                    var errltr = letter;
+                    if(errltr=="\n") errltr = "Carriage Return";
+                    if(errltr==" ") errltr = "Space";
+                    throw new OperationError("Invalid ITA2 character : "+errltr);
+                }
 	        	return letter;
 	        	return letter;
 	        });
 	        });
 
 
         }
         }
 
 
         const ita2Input = ita2.join("");
         const ita2Input = ita2.join("");
-        console.log(ita2Input);
 
 
         var thisPsi = [];
         var thisPsi = [];
         var thisChi = [];
         var thisChi = [];
         var thisMu = [];
         var thisMu = [];
         var m61lug = muSettings[1][m61-1];
         var m61lug = muSettings[1][m61-1];
-        var m37lug = 0;
+        var m37lug = muSettings[2][m37-1];
 		var p5 = [0,0,0];
 		var p5 = [0,0,0];
 
 
         const self = this;
         const self = this;
         const letters = Array.prototype.map.call(ita2Input, function(character) {
         const letters = Array.prototype.map.call(ita2Input, function(character) {
             const letter = character.toUpperCase();
             const letter = character.toUpperCase();
 
 
-            //console.log(s1+' '+s2+' '+s3+' '+s4+' '+s5+' : '+m37+' '+m61+' : '+x1+' '+x2+' '+x3+' '+x4+' '+x5);
-
             var x2bptr = x2+1;
             var x2bptr = x2+1;
     		if(x2bptr==32) x2bptr=1;
     		if(x2bptr==32) x2bptr=1;
     		var s1bptr = s1+1;
     		var s1bptr = s1+1;
@@ -403,8 +407,6 @@ class Lorenz extends Operation {
 				muSettings[2][m37-1]
 				muSettings[2][m37-1]
 			];
 			];
 
 
-			console.log(letter + ' + ' + self.REVERSE_ITA2_TABLE[thisPsi.join("")] + ' + ' + self.REVERSE_ITA2_TABLE[thisChi.join("")]);
-
             if (typeof ITA2_TABLE[letter] == "undefined") {
             if (typeof ITA2_TABLE[letter] == "undefined") {
                 return "";
                 return "";
             }
             }
@@ -436,15 +438,17 @@ class Lorenz extends Operation {
 
 
             p5[2] = p5[1];
             p5[2] = p5[1];
             p5[1] = p5[0];
             p5[1] = p5[0];
-            p5[0] = ITA2_TABLE[letter][4];
-            console.log('p5='+ITA2_TABLE[letter]+' ('+letter+') = '+p5[0]);
+            if(mode=="Send") {
+                p5[0] = ITA2_TABLE[letter][4];
+            } else {
+                p5[0] = xorSum[4];
+            }
 
 
 		    // Limitations here
 		    // Limitations here
 			if(model=='SZ42a') {
 			if(model=='SZ42a') {
 		    	// Chi 2 one back lim - The active character of chi 2 (2nd Chi wheel) in the previous position
 		    	// Chi 2 one back lim - The active character of chi 2 (2nd Chi wheel) in the previous position
 		    	lim = chiSettings[2][x2bptr-1];       	
 		    	lim = chiSettings[2][x2bptr-1];       	
 		    	if(kt) {
 		    	if(kt) {
-		    		console.log('lim='+lim+', p5-2='+p5[2]);
                     if(lim==p5[2]) { lim = 0; } else { lim=1; } //p5 back 2
                     if(lim==p5[2]) { lim = 0; } else { lim=1; } //p5 back 2
 		    	}
 		    	}
                 
                 
@@ -453,8 +457,7 @@ class Lorenz extends Operation {
 		    		totalmotor = 0;
 		    		totalmotor = 0;
 		    	} else {
 		    	} else {
 		    		totalmotor = 1;
 		    		totalmotor = 1;
-		    	}   
-                console.log('BM='+basicmotor+', LM='+lim+', TM='+totalmotor);
+		    	} 
 
 
 		    } else if(model=='SZ42b') {
 		    } else if(model=='SZ42b') {
 		    	// Chi 2 one back + Psi 1 one back.
 		    	// Chi 2 one back + Psi 1 one back.
@@ -465,7 +468,6 @@ class Lorenz extends Operation {
 		    	if(kt) {
 		    	if(kt) {
 		    		if(lim==p5[2]) { lim=0; } else { lim=1; } //p5 back 2	
 		    		if(lim==p5[2]) { lim=0; } else { lim=1; } //p5 back 2	
 		    	}
 		    	}
-                console.log('BM='+basicmotor+', LM='+lim);
 		    	// If basic motor = 0 and limitation = 1, Total motor = 0 [no move], otherwise, total motor = 1 [move]
 		    	// If basic motor = 0 and limitation = 1, Total motor = 0 [no move], otherwise, total motor = 1 [move]
 		    	if(basicmotor==0 && lim==1) {
 		    	if(basicmotor==0 && lim==1) {
 		    		totalmotor = 0;
 		    		totalmotor = 0;
@@ -476,7 +478,6 @@ class Lorenz extends Operation {
     		} else if(model=="SZ40") {
     		} else if(model=="SZ40") {
     			// SZ40
     			// SZ40
 	    		totalmotor = basicmotor;
 	    		totalmotor = basicmotor;
-                console.log('TM='+basicmotor);
     		} else {
     		} else {
     			throw new OperationError("Lorenz model type not recognised");
     			throw new OperationError("Lorenz model type not recognised");
     		}
     		}