ReflashLogger()
Re-flashes the logger with the firmware.bin file.
C#
[DllImport("RGUSBdrv.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ReflashLogger(char[] FileName, out short Status);
Parameter
[in] FileName
[out] Status
Returns:
0 if file successfully sent.
If the function returns 0 check Status.
Status 0 – Reflash OK
C# Example
private void btnReflash_Click(object sender, EventArgs e)
{
if (dlgOpenReflash.ShowDialog() == DialogResult.OK)
{
if (Connected) //Check if the logger is connected
{
timerReflash.Start();
//Using timer to start the reflash as Async() method
}
}
}
async Task<bool> Reflash(string fwFileName)
{
try
{
Cursor.Current = Cursors.WaitCursor;
lblStatus.Text = "Reflash procedure started...";
byte res = ReflashLogger((fwFileName + '\0').ToCharArray(), out Int16 Status);
bool error = res == 1 && Status != 0;
bool connected = false;
do
{
await Task.Delay(1000);
lblStatus.Text = "Logger is updating. Waiting to reconnect...";
connected = DeviceIsReady() > 0;
if (connected)
{
await Task.Delay(1000);
lblStatus.Text = "";
MessageBox.Show("Reflash completed successfully");
}
}
while (!connected);
string msg = error ? "Reflash error " + Status.ToString() : "Reflash Completed!";
lblStatus.Text = msg;
return !error;
}
catch (Exception e)
{
return false;
}
finally
{
Cursor.Current = Cursors.Default;
}
private async void timer1_Tick(object sender, EventArgs e)
{
timerReflash.Enabled = false;
await Reflash(dlgOpenReflash.FileName);
Close();
}
Last updated