public AvrBurningContext(ISpi Spi)
        {
            _commandManager = new AvrCommandManager(Spi);

            Flash = new DelegateMemoryAccess(
                _commandManager,
                (a, v) => AvrProgCommand.Encode((byte)((byte)CommandKind.WriteFlash | ((a & 0x01) << 3)), 0, (byte)(a >> 1), v),
                a => AvrProgCommand.Encode((byte)((byte)CommandKind.ReadFlash | ((a & 0x01) << 3)), (byte)(a >> 9), (byte)(a >> 1)),
                a => CommandKind.FlushFlash.With((byte)(a >> 9), (byte)((a >> 1) & 0x80)),
                Delays.WdFlash);

            Eeprom = new DelegateMemoryAccess(
                _commandManager,
                (a, v) => CommandKind.WriteEeprom.With(0, (byte)(a & 0x07), v),
                a => CommandKind.ReadEeprom.With((byte)((a >> 8) & 0x7), (byte)a),
                a => CommandKind.FlushEeprom.With((byte)((a >> 8) & 0x0f), (byte)(a & 0xf8)),
                Delays.WdEeprom);
        }
Example #2
0
 public UploadStatusIndicator(ISpi spi)
 {
     _spi           = spi;
     _spiCommand[0] = (byte)UbershieldSpiCommands.LedControl;
     Status         = UploadStatus.None;
 }
Example #3
0
 public Uploader(ISpi spi)
 {
     this.spi = spi;
     statusBuffer = new byte[2];
 }
Example #4
0
 public Uploader(ISpi spi)
 {
     this.spi     = spi;
     statusBuffer = new byte[2];
 }
 public UploadStatusIndicator(ISpi spi)
 {
     _spi = spi;
     _spiCommand[0] = (byte) UbershieldSpiCommands.LedControl;
     Status = UploadStatus.None;
 }
 public AstraSpiProgrammer(IAstraDevice Astra)
 {
     _astra = Astra;
     _spi = new AstraToSpiProxy(_astra);
 }
 public AvrCommandManager(ISpi Spi)
 {
     _spi = Spi;
 }