/// @brief Create a new Watch for a %Cog memory location. /// @param cog Reference to %Cog to inspect its memory. /// @param name Name to associate the Watch. /// @param address Memory address to inspect. public MemWatcher(Cog cog, string name, uint address) { IsCogBased = true; _chip = null; _cog = cog; Addr = address; //this assignment validate the value or throw an exception //CogSpecialAddress tmp; //if (Enum.IsDefined(typeof(CogSpecialAddress), Addr) && // Enum.TryParse(Addr, out tmp)) //{ // specialAddr = tmp; // Name = specialAddr.ToString(); //} Name = name; if (string.IsNullOrEmpty(Name)) { Name = name; } Value = cog.ReadLong(Addr); ComparedValue = 0; isStoppedBy = false; Mode = StopMode.none; }
private uint UpdatedValue() { return(Value = (IsCogBased) ? _cog.ReadLong(_addr) : _chip.ReadLong(_addr)); }