internal SetDeviceProgrammingParametersRequest(IMcu mcu) { var flashMem = mcu.Flash; var eepromMem = mcu.Eeprom; var flashPageSize = flashMem.PageSize; var flashSize = flashMem.Size; var epromSize = eepromMem.Size; Bytes = new byte[22]; Bytes[0] = Constants.CmdStkSetDevice; Bytes[1] = mcu.DeviceCode; Bytes[2] = mcu.DeviceRevision; Bytes[3] = mcu.ProgType; Bytes[4] = mcu.ParallelMode; Bytes[5] = mcu.Polling; Bytes[6] = mcu.SelfTimed; Bytes[7] = mcu.LockBytes; Bytes[8] = mcu.FuseBytes; Bytes[9] = flashMem.PollVal1; Bytes[10] = flashMem.PollVal2; Bytes[11] = eepromMem.PollVal1; Bytes[12] = eepromMem.PollVal2; Bytes[13] = (byte)((flashPageSize >> 8) & 0x00ff); Bytes[14] = (byte)(flashPageSize & 0x00ff); Bytes[15] = (byte)((epromSize >> 8) & 0x00ff); Bytes[16] = (byte)(epromSize & 0x00ff); Bytes[17] = (byte)((flashSize >> 24) & 0xff); Bytes[18] = (byte)((flashSize >> 16) & 0xff); Bytes[19] = (byte)((flashSize >> 8) & 0xff); Bytes[20] = (byte)(flashSize & 0xff); Bytes[21] = Constants.SyncCrcEop; }
/// <summary> /// Initialize the control view model /// </summary> public ControlViewModel(IListenerTcp listenerTcp, ITcpClient tcpClient, IMcu mcu) { SendDeveloperCommand = new DelegateCommand(DeveloperCommandToMcuAsync); StartTcpListenerCommand = new DelegateCommand(ToggleTcpListener); ConnectToTcpServerCommand = new DelegateCommand(ConnectToTcp); Mcu = mcu; ListenerTcp = listenerTcp; TcpClient = tcpClient; }
internal EnableProgrammingModeRequest(IMcu mcu) { byte[] cmdBytes = mcu.CommandBytes[Command.PgmEnable]; Bytes = new[] { Constants.CmdEnterProgrmodeIsp, mcu.Timeout, mcu.StabDelay, mcu.CmdExeDelay, mcu.SynchLoops, mcu.ByteDelay, mcu.PollValue, mcu.PollIndex, cmdBytes[0], cmdBytes[1], cmdBytes[2], cmdBytes[3] }; }
public void InitializeDevice() { Debug.WriteLine("Initialize Device Start"); Mcu = new AtMega328P(); Debug.WriteLine("Get STK Sw Major Version "); var majorVersion = GetParameterValue(Constants.ParmStkSwMajor); Debug.WriteLine("Get STK Sw Minor Version "); var minorVersion = GetParameterValue(Constants.ParmStkSwMinor); Debug.WriteLine($"Retrieved software version: {majorVersion}.{minorVersion}."); Debug.WriteLine("Setting device programming parameters..."); SendWithSyncRetry(new SetDeviceProgrammingParametersRequest(Mcu)); var nextByte = ReceiveNext(); if (nextByte != Constants.RespStkOk) { throw new ArduinoUploaderException("Unable to set device programming parameters!"); } }
public Stk500V2BootloaderProgrammer(SerialPortConfig serialPortConfig, IMcu mcu) : base(serialPortConfig, mcu) { }
public Avr109BootloaderProgrammer(SerialPortConfig serialPortConfig, IMcu mcu) : base(serialPortConfig, mcu) { }
protected BootloaderProgrammer(IMcu mcu) { Mcu = mcu; }
internal Stk500V1BootloaderProgrammer(SerialPortConfig serialPortConfig, IMcu mcu) : base(serialPortConfig, mcu) { }
protected ArduinoBootloaderProgrammer(SerialPortConfig serialPortConfig, IMcu mcu) : base(mcu) { SerialPortConfig = serialPortConfig; }