/// <summary> /// Create a new firmware command string using the specified parameters /// </summary> /// <param name="settings">Firmware settings</param> public FirmwareCommand(FirmwareSettings settings) { this.Settings = settings; this.commandString = this.CreateCommandString(settings); return; }
/// <summary> /// Parse a base-64 string into a firmware command object /// </summary> /// <param name="text">Text to parse</param> /// <returns>Firmware command</returns> public static FirmwareCommand Parse(string text) { // get bytes from base-64 string byte[] bytes = Convert.FromBase64String(text); // create struct pointer FirmwareSettings settings = bytes; // create firmware command base on settings struct FirmwareCommand command = new FirmwareCommand(settings); return(command); }
/// <summary> /// Retrieve settings from Arduino device asynchronously /// </summary> public void RetrieveSettings() { // this.SendCommand(FirmwareCommand.ExportSettings); // string text = this.serialPort.ReadExisting().Trim(); if (string.IsNullOrWhiteSpace(text)) { throw new IOException("Failed to retrieve settings response from Arduino device"); } // FirmwareCommand command = FirmwareCommand.Parse(text); this.Settings = command.Settings; return; }
private string CreateCommandString(FirmwareSettings settings) { // return base-64 string return(Convert.ToBase64String(settings)); }