Changeset 318 for trunk/CrypPlugins/LFSR


Ignore:
Timestamp:
May 20, 2009, 1:53:26 PM (13 years ago)
Author:
Sören Rinne
Message:
  • added a binary function parser that works with '*' and '+' as 'AND' and 'XOR'
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/LFSR/LFSR.cs

    r304 r318  
    206206            }
    207207        }
    208         /*
     208       
    209209        private bool controllerOutput;
    210210        [ControllerProperty(Direction.Output, "Controller Output", "", DisplayLevel.Beginner)]
     
    213213            get { return controllerOutput; }
    214214            set { controllerOutput = (bool)value; }
    215         }*/
     215        }
    216216
    217217        public void Dispose()
     
    418418            {
    419419                if (!settings.UseBoolClock) return;
     420                //GuiLogMessage("First if.", NotificationLevel.Info);
    420421            }
    421422                // if last event wasn't from the clock but clock shall be
     
    424425            {
    425426                if (settings.UseBoolClock) return;
     427                //GuiLogMessage("Second if.", NotificationLevel.Info);
    426428            }
    427429            // process LFSR
     
    560562                        }
    561563                    }
    562                     if (settings.UseClockingBit) clocking = settings.ClockingBit; else clocking = -1;
     564                    if (settings.UseClockingBit)
     565                    {
     566                        if (settings.ClockingBit < seedCharArray.Length) clocking = (seedCharArray.Length - settings.ClockingBit - 1);
     567                        else
     568                        {
     569                            clocking = -1;
     570                            GuiLogMessage("WARNING: Clocking Bit is too high. Ignored.", NotificationLevel.Warning);
     571                        }
     572
     573                    }
     574                    else clocking = -1;
    563575
    564576                    /*// check which clock to use
     
    755767                    if (settings.UseClockingBit)
    756768                    {
    757                         // make clocking bit output
    758                         if (seedCharArray[settings.ClockingBit] == '0') outputClockingBit = false;
    759                         else outputClockingBit = true;
    760                         OnPropertyChanged("OutputClockingBit");
    761                     }
    762                 }
     769                        // make clocking bit output only if its not out of bounds
     770                        if (clocking != -1)
     771                        {
     772                            if (seedCharArray[clocking] == '0') outputClockingBit = false;
     773                            else outputClockingBit = true;
     774                            OnPropertyChanged("OutputClockingBit");
     775                        }
     776                    }
     777                }
     778
     779                controllerOutput = true;
     780                OnPropertyChanged("ControllerOutput");
    763781
    764782                // stop counter
Note: See TracChangeset for help on using the changeset viewer.