Skip to content

Commit

Permalink
Display MCU signature
Browse files Browse the repository at this point in the history
Now displays MCU signature near the flash and EEPROM sizes
More translations
  • Loading branch information
ZakKemble committed Jan 22, 2019
1 parent b66d0db commit b16e79f
Show file tree
Hide file tree
Showing 9 changed files with 141 additions and 16 deletions.
12 changes: 12 additions & 0 deletions src/avrdudess/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 17 additions & 10 deletions src/avrdudess/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,19 @@ public partial class Form1 : Form
{
private const string WEB_ADDR_FUSE_SETTINGS = "http://www.engbedded.com/fusecalc";

// TODO move these somewhere else
public const string FILEOP_WRITE = "w";
public const string FILEOP_READ = "r";
public const string FILEOP_VERIFY = "v";

private ToolTip ToolTips;
private Avrdude avrdude;
private Avrsize avrsize;
private Presets presets;
private CmdLine cmdLine;
public bool ready = false;
private string flashOperation = "w";
private string EEPROMOperation = "w";
private string flashOperation = FILEOP_WRITE;
private string EEPROMOperation = FILEOP_WRITE;
private string presetToLoad;
private bool drag = false;
private Point dragStart;
Expand Down Expand Up @@ -158,9 +163,9 @@ public string flashFileOperation
get { return flashOperation; }
set
{
if (value == "w")
if (value == FILEOP_WRITE)
rbFlashOpWrite.Checked = true;
else if (value == "r")
else if (value == FILEOP_READ)
rbFlashOpRead.Checked = true;
else
rbFlashOpVerify.Checked = true;
Expand Down Expand Up @@ -189,9 +194,9 @@ public string EEPROMFileOperation
get { return EEPROMOperation; }
set
{
if (value == "w")
if (value == FILEOP_WRITE)
rbEEPROMOpWrite.Checked = true;
else if (value == "r")
else if (value == FILEOP_READ)
rbEEPROMOpRead.Checked = true;
else
rbEEPROMOpVerify.Checked = true;
Expand Down Expand Up @@ -912,11 +917,13 @@ private void cmbMCU_SelectedIndexChanged(object sender, EventArgs e)
lblEEPROMSize.Text = Util.fileSizeFormat(mcu.eeprom);
memoryUsageBar(fileFlash, pbFlashUsage, mcu.flash, false);
memoryUsageBar(fileEEPROM, pbEEPROMUsage, mcu.eeprom, false);
lblSig.Text = (mcu.signature != null) ? mcu.signature.ToUpper() : "?";
}
else
{
lblFlashSize.Text = "-";
lblEEPROMSize.Text = "-";
lblSig.Text = "-";
}
}

Expand All @@ -929,10 +936,10 @@ private string getFlashEEPROMOp(Control container)
if (radio != null && radio.Checked)
{
if (radio.Name == "rbFlashOpWrite" || radio.Name == "rbEEPROMOpWrite")
return "w";
return FILEOP_WRITE;
else if (radio.Name == "rbFlashOpRead" || radio.Name == "rbEEPROMOpRead")
return "r";
return "v";
return FILEOP_READ;
return FILEOP_VERIFY;
}
}

Expand Down Expand Up @@ -990,7 +997,7 @@ private void btnFlashEEPROMBrowse_Click(object sender, EventArgs e)
string op = getFlashEEPROMOp(fileOpRadioButtons);
if(op != null)
{
if(op == "w" || op == "v")
if(op == FILEOP_WRITE || op == FILEOP_VERIFY)
{
openFileDialog1.Filter = filter;
openFileDialog1.FileName = "";
Expand Down
2 changes: 1 addition & 1 deletion src/avrdudess/FormPresetManager.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/avrdudess/Languages/chinese-zh_CN.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@
<string name="IMPORT">导入</string>
<string name="DELETE">删除</string>
<string name="CLOSE">关闭</string>
<string name="EXPORTIMGPORTDELETE">导出/导入/删除</string>
<string name="SAVEDIALOG_EXPORT">导出预设</string>
<string name="OPENDIALOG_IMPORT">导入预设</string>
<string name="NEWPRESETNAME">新预设名称</string>
Expand Down
3 changes: 2 additions & 1 deletion src/avrdudess/Languages/english.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ Use this if you only want to update EEPROM</string>
<string name="IMPORT">Import</string>
<string name="DELETE">Delete</string>
<string name="CLOSE">Close</string>
<string name="EXPORTIMGPORTDELETE">Export/Import/Delete</string>
<string name="SAVEDIALOG_EXPORT">Export preset</string>
<string name="OPENDIALOG_IMPORT">Import preset</string>
<string name="NEWPRESETNAME">New preset name</string>
Expand Down Expand Up @@ -175,4 +176,4 @@ Use this if you only want to update EEPROM</string>
{1}</string>

</data>
</translation>
</translation>
3 changes: 2 additions & 1 deletion src/avrdudess/Languages/german.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ Use this if you only want to update EEPROM</string>
<string name="IMPORT">Import</string>
<string name="DELETE">Delete</string>
<string name="CLOSE">Close</string>
<string name="EXPORTIMGPORTDELETE">Export/Import/Delete</string>
<string name="SAVEDIALOG_EXPORT">Export preset</string>
<string name="OPENDIALOG_IMPORT">Import preset</string>
<string name="NEWPRESETNAME">New preset name</string>
Expand Down Expand Up @@ -175,4 +176,4 @@ Use this if you only want to update EEPROM</string>
{1}</string>

</data>
</translation>
</translation>
4 changes: 3 additions & 1 deletion src/avrdudess/Languages/polish.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ Użyj tej opcji jeśli chcesz zapisać tylko EEPROM</string>
<string name="IMPORT">Importuj</string>
<string name="DELETE">Usuń</string>
<string name="CLOSE">Zamknij</string>
<string name="EXPORTIMGPORTDELETE">Eksportuj/Importuj/Usuń</string>
<string name="SAVEDIALOG_EXPORT">Eksportuj profil</string>
<string name="OPENDIALOG_IMPORT">Importuj profil</string>
<string name="NEWPRESETNAME">Nazwa nowego profilu</string>
Expand Down Expand Up @@ -147,6 +148,7 @@ Użyj tej opcji jeśli chcesz zapisać tylko EEPROM</string>
<string name="GRP_HIDEMCUS">Ukryj uC</string>
<string name="LANGUAGE">Język</string>
<string name="SHOWTOOLTIPS">Pokaż podpowiedzi</string>
<string name="USEPREVSETTINGS">Ładuj poprzednie ustawienia na starcie</string>
<string name="AVRDUDE_LOCATION">Folder z avrdude.exe</string>
<string name="AVRDUDECONF_LOCATION">Folder z avrdude.conf</string>
<string name="AVRSIZE_LOCATION">Folder z avr-size.exe</string>
Expand Down Expand Up @@ -174,4 +176,4 @@ Użyj tej opcji jeśli chcesz zapisać tylko EEPROM</string>
{1}</string>

</data>
</translation>
</translation>
4 changes: 2 additions & 2 deletions src/avrdudess/Presets.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,10 @@ private void NotifyPropertyChanged(string propertyName = "")
public string bitclock;
public string flashFile;
public string flashFormat = "a";
public string flashOp = "w";
public string flashOp = Form1.FILEOP_WRITE;
public string EEPROMFile;
public string EEPROMFormat = "a";
public string EEPROMOp = "w";
public string EEPROMOp = Form1.FILEOP_WRITE;
public bool force;
public bool disableVerify;
public bool disableFlashErase;
Expand Down
101 changes: 101 additions & 0 deletions src/avrdudess/Programmer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,115 @@
* Web: http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
*/

using System.Collections.Generic;

namespace avrdudess
{
public class Programmer : Part
{
private string _type;

//
// PROGRAMMER TYPE NOT YET IMPLEMENTED
//

/*
arduino = Arduino programmer
avr910 = Serial programmers using protocol described in application note AVR910
avrftdi = Interface to the MPSSE Engine of FTDI Chips using libftdi.
buspirate = Using the Bus Pirate's SPI interface for programming
buspirate_bb = Using the Bus Pirate's bitbang interface for programming
butterfly = Atmel Butterfly evaluation board; Atmel AppNotes AVR109, AVR911
butterfly_mk = Mikrokopter.de Butterfly
dragon_dw = Atmel AVR Dragon in debugWire mode
dragon_hvsp = Atmel AVR Dragon in HVSP mode
dragon_isp = Atmel AVR Dragon in ISP mode
dragon_jtag = Atmel AVR Dragon in JTAG mode
dragon_pdi = Atmel AVR Dragon in PDI mode
dragon_pp = Atmel AVR Dragon in PP mode
flip1 = FLIP USB DFU protocol version 1 (doc7618)
flip2 = FLIP USB DFU protocol version 2 (AVR4023)
ftdi_syncbb = FT245R/FT232R Synchronous BitBangMode Programmer
jtagmki = Atmel JTAG ICE mkI
jtagmkii = Atmel JTAG ICE mkII
jtagmkii_avr32 = Atmel JTAG ICE mkII in AVR32 mode
jtagmkii_dw = Atmel JTAG ICE mkII in debugWire mode
jtagmkii_isp = Atmel JTAG ICE mkII in ISP mode
jtagmkii_pdi = Atmel JTAG ICE mkII in PDI mode
jtagice3 = Atmel JTAGICE3
jtagice3_pdi = Atmel JTAGICE3 in PDI mode
jtagice3_dw = Atmel JTAGICE3 in debugWire mode
jtagice3_isp = Atmel JTAGICE3 in ISP mode
linuxgpio = GPIO bitbanging using the Linux sysfs interface (not available)
par = Parallel port bitbanging
pickit2 = Microchip's PICkit2 Programmer
serbb = Serial port bitbanging
stk500 = Atmel STK500 Version 1.x firmware
stk500generic = Atmel STK500, autodetect firmware version
stk500v2 = Atmel STK500 Version 2.x firmware
stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode
stk500pp = Atmel STK500 V2 in parallel programming mode
stk600 = Atmel STK600
stk600hvsp = Atmel STK600 in high-voltage serial programming mode
stk600pp = Atmel STK600 in parallel programming mode
usbasp = USBasp programmer, see http://www.fischl.de/usbasp/
usbtiny = Driver for "usbtiny"-type programmers
wiring = http://wiring.org.co/, Basically STK500v2 protocol, with some glue to trigger the bootloader.
*/

private const string MCU_ISP = "m8";
private const string MCU_JTAG = "m32";
private const string MCU_TPI = "t10";
private const string MCU_PDI = "";

// debugWire, HVSP, ISP, JTAG, PDI, PP, TPI
// "avrdude.exe -c ?type"
// Don't do bootloader types (arduino, avr910, etc...)
public static readonly Dictionary<string, List<string>> progInterfaces = new Dictionary<string, List<string>>()
{
{
"avrftdi",
new List<string>() { MCU_ISP, MCU_JTAG }
},
{
"buspirate",
new List<string>() { MCU_ISP }
},
{
"buspirate_bb",
new List<string>() { MCU_ISP, MCU_TPI }
},
{
"usbasp",
new List<string>() { MCU_ISP, MCU_TPI }
}
};

public string type
{
get
{
string s = _type;
if (s == null)
s = (parent != null) ? ((Programmer)parent).type : "?";
return s;
}
private set
{
_type = value;
}
}

public Programmer(string id, string desc = null, Programmer parent = null)
: base(id, desc, parent)
{

}

public List<string> getInterfaces()
{
return null;
//return progInterfaces[type];
}
}
}

0 comments on commit b16e79f

Please sign in to comment.