protected override void EstablishContext()
 {
     memory   = new ManagedMemory(COMMAND_SIZE);
     settings = new Tlc59711Settings {
         Blank = false,
         ReferenceClockEdge     = false,
         ReferenceClock         = true,
         DisplayTimingResetMode = false,
         DisplayRepeatMode      = false,
         BrightnessControlB     = 0,
         BrightnessControlG     = 0,
         BrightnessControlR     = 0
     };
 }
예제 #2
0
        /// <summary>
        /// Creates a new instance of the <see cref="Tlc59711Device"/> class.
        /// </summary>
        /// <param name="memory">Memory to work with.</param>
        /// <param name="settings">Initial settings</param>
        public Tlc59711Device(IMemory memory, ITlc59711Settings settings = null) {
            if (ReferenceEquals(memory, null))
                throw new ArgumentNullException("memory");

            if (memory.Length < COMMAND_SIZE) {
                throw new ArgumentException(
                    string.Format("Need at least {0} bytes, got {1} bytes.", COMMAND_SIZE, memory.Length), "memory");
            }

            this.memory = memory;
            initSettings = settings;
            channels = new Tlc59711Channels(memory, DATA_OFFSET);

            Reset();
        }
        /// <summary>
        /// Creates a new instance of the <see cref="Tlc59711Device"/> class.
        /// </summary>
        /// <param name="memory">Memory to work with.</param>
        /// <param name="settings">Initial settings</param>
        public Tlc59711Device(IMemory memory, ITlc59711Settings settings = null)
        {
            if (ReferenceEquals(memory, null))
            {
                throw new ArgumentNullException("memory");
            }

            if (memory.Length < COMMAND_SIZE)
            {
                throw new ArgumentException(
                          string.Format("Need at least {0} bytes, got {1} bytes.", COMMAND_SIZE, memory.Length), "memory");
            }

            this.memory  = memory;
            initSettings = settings;
            channels     = new Tlc59711Channels(memory, DATA_OFFSET);

            Reset();
        }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Tlc59711Device"/> class.
        /// </summary>
        /// <param name="memory">The memory.</param>
        /// <param name="settings">The settings.</param>
        /// <exception cref="ArgumentNullException">memory.</exception>
        /// <exception cref="ArgumentException">thrown if memory is too small.</exception>
        public Tlc59711Device(IMemory memory, ITlc59711Settings settings = null)
        {
            if (ReferenceEquals(memory, null))
            {
                throw new ArgumentNullException(nameof(memory));
            }

            if (memory.Length < CommandSize)
            {
                throw new ArgumentException(
                          string.Format("Need at least {0} bytes, got {1} bytes.", CommandSize, memory.Length), nameof(memory));
            }

            this.memory       = memory;
            this.initSettings = settings;
            this.channels     = new Tlc59711Channels(memory, DataOffset);

            this.Reset();
        }
        private void Initialize(ITlc59711Settings settings)
        {
            referenceClockEdge     = settings.ReferenceClockEdge ? OUTTMG : OFF;
            referenceClock         = settings.ReferenceClock ? EXTGCK : OFF;
            displayTimingResetMode = settings.DisplayTimingResetMode ? TMGRST : OFF;
            displayRepeatMode      = settings.DisplayRepeatMode ? DSPRPT : OFF;
            blank = settings.Blank ? BLANK : OFF;
            bcb   = settings.BrightnessControlB;
            bcg   = settings.BrightnessControlG;
            bcr   = settings.BrightnessControlR;

            WriteFirstByte();
            WriteSecondByte();
            WriteThirdByte();
            WriteFourthByte();

            var zero = new byte[DATA_LENGTH];

            memory.Copy(zero, 0, DATA_OFFSET, DATA_LENGTH);
        }
예제 #6
0
        private void Initialize(ITlc59711Settings settings) {
            referenceClockEdge = settings.ReferenceClockEdge ? OUTTMG : OFF;
            referenceClock = settings.ReferenceClock ? EXTGCK : OFF;
            displayTimingResetMode = settings.DisplayTimingResetMode ? TMGRST : OFF;
            displayRepeatMode = settings.DisplayRepeatMode ? DSPRPT : OFF;
            blank = settings.Blank ? BLANK : OFF;
            bcb = settings.BrightnessControlB;
            bcg = settings.BrightnessControlG;
            bcr = settings.BrightnessControlR;

            WriteFirstByte();
            WriteSecondByte();
            WriteThirdByte();
            WriteFourthByte();

            var zero = new byte[DATA_LENGTH];
            memory.Copy(zero, 0, DATA_OFFSET, DATA_LENGTH);
        }
 protected override void EstablishContext() {
     memory = new ManagedMemory(COMMAND_SIZE);
     settings = new Tlc59711Settings {
         Blank = false,
         ReferenceClockEdge = false,
         ReferenceClock = true,
         DisplayTimingResetMode = false,
         DisplayRepeatMode = false,
         BrightnessControlB = 0,
         BrightnessControlG = 0,
         BrightnessControlR = 0
     };
 }