First Public Release

This commit is contained in:
bouletmarc 2017-02-24 19:05:21 -05:00
parent 9db0db8d86
commit 1326ed9c20
35 changed files with 2633 additions and 0 deletions

View File

@ -0,0 +1,464 @@
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
//
// EEPROM Programmer - code for an Arduino Mega 2560 - Written by BM Devs (Bouletmarc)
//
// This software presents a 9600-8N1 serial port. It is made to Read/Write Data from
// EEPROM directly with the Arduino! It Doesnt need any extrenal equipement except
// Wires and the Chip itself. Default Serial Timeout is set to 50ms to read the received
// bytes. This program is made to read 28pins Chips such as (27cXXX, 29cXXX, 27sf512).
//
// For more informations visit : https://www.github.com/bouletmarc/Arduino_FlashNBurn/
//
//
//
//
//
//---------------------------------------------------------------------------------------------------------------------------------------------------------
// COMMANDS : | OUTPUTS : | DESC :
//---------------------------------------------------------------------------------------------------------------------------------------------------------
// R + 2 + "MSB" + "LSB" | "B1" + "B2" + "...B256" | Reads 256 bytes of data from the EEPROM at address "MSB" + "LSB" ... Only for No-SST Chip
// R + 5 + "MSB" + "LSB" | "B1" + "B2" + "...B256" | Reads 256 bytes of data from the EEPROM at address "MSB" + "LSB" ... Only for SST Chip
// W + 2 + "MSB" + "LSB" + "B1" + "B2" + "..." | "O" | Writes 256 bytes of data to the EEPROM at address "MSB" + "LSB", This output 'O' (0x79) for telling 'OK' ... Only for No-SST Chip
// W + 5 + "MSB" + "LSB" + "B1" + "B2" + "..." | "O" | Writes 256 bytes of data to the EEPROM at address "MSB" + "LSB", This output 'O' (0x79) for telling 'OK' ... Only for SST Chip
// E + 5 | "O" | Erase all the data on the SST Chip
// V + V | "V1" + "V2" + "V3" | Prints the version bytes (Ex: V1.2.5 = 0x01, 0x02, 0x05)
//---------------------------------------------------------------------------------------------------------------------------------------------------------
//
// *** You can directly send the bytes that represent the char ***
// *** R = DEC 82 // HEX 0x52 ***
// *** V = DEC 86 // HEX 0x56 ***
// *** W = DEC 87 // HEX 0x57 ***
//
//---------------------------------------------------------------------------------------------------------------------------------------------------------
//
//
//
//
//
// Exemple of Usage :
// [0x86 + 0x86] = Read The Version ---> (0x86 = V | 0x86 = V)
// [0x52 + 0x05 + 0x0F + 0x45] = Read 256 bytes from SST Chip at 0x0F45 ---> (0x52 = R | 0x05 = SST | 0x0F = "MSB" | 0x45 = "LSB")
// [0x57 + 0x02 + 0x53 + 0xD4 + 0x01 + 0x02 + "..."] = Write 256 bytes from No-SST Chip at 0x53D4 ---> (0x57 = W | 0x02 = No-SST | 0x0F = "MSB" | 0x45 = "LSB" | "++ 256 bytes ++")
//
//
//
//
//
//
//
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
int SerialTimeout = 5;
#include <avr/pgmspace.h>
byte VerisonBytes[] = {
1, 1, 5
};
unsigned int chipType;
byte g_cmd[260];
byte buffer256[256];
#define CHIPOTHERS 2
#define CHIP27SF512 5
//#define PIN_A14 25
#define PIN_A14 22
#define PIN_A12 24
#define PIN_A7 26
#define PIN_A6 28
#define PIN_A5 30
#define PIN_A4 32
#define PIN_A3 34
#define PIN_A2 36
#define PIN_A1 38
#define PIN_A0 40
#define PIN_D0 42
#define PIN_D1 44
#define PIN_D2 46
//#define PIN_nWE 22
#define PIN_nWE 25
#define PIN_A13 27
#define PIN_A8 29
#define PIN_A9 31
#define PIN_A11 33
#define PIN_nOE 35
#define PIN_A10 37
#define PIN_nCE 39
#define PIN_D7 41
#define PIN_D6 43
#define PIN_D5 45
#define PIN_D4 47
#define PIN_D3 49
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
void setup()
{
chipType = 2;
Serial.begin(9600);
Serial.setTimeout(SerialTimeout);
//Serial.begin(115200);
//Serial.begin(921600);
// Define address lines (outputs)
pinMode(PIN_A0, OUTPUT);
pinMode(PIN_A1, OUTPUT);
pinMode(PIN_A2, OUTPUT);
pinMode(PIN_A3, OUTPUT);
pinMode(PIN_A4, OUTPUT);
pinMode(PIN_A5, OUTPUT);
pinMode(PIN_A6, OUTPUT);
pinMode(PIN_A7, OUTPUT);
pinMode(PIN_A8, OUTPUT);
pinMode(PIN_A9, OUTPUT);
pinMode(PIN_A10, OUTPUT);
pinMode(PIN_A11, OUTPUT);
pinMode(PIN_A12, OUTPUT);
pinMode(PIN_A13, OUTPUT);
pinMode(PIN_A14, OUTPUT);
// Define control lines (outputs)
pinMode(PIN_nCE, OUTPUT); //digitalWrite(PIN_nCE, LOW);
pinMode(PIN_nOE, OUTPUT); //digitalWrite(PIN_nOE, LOW);
pinMode(PIN_nWE, OUTPUT); //digitalWrite(PIN_nWE, LOW);
}
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
void loop()
{
while (true)
{
//Get Commands
ReadString();
//################################
//################################
//Send Version
if (g_cmd[0] == 'V' & g_cmd[1] == 'V')
{
Serial.write(VerisonBytes, sizeof(VerisonBytes));
}
//################################
//################################
//Read Chips
if (g_cmd[0] == 'R')
{
//Set Pinout
SetDataLinesAsInputs();
set_ce(LOW); //enable chip select
set_oe(LOW); //enable output
set_we(HIGH); //disable write
delay(5);
//Set Chip Type
chipType = g_cmd[1];
//Get/Reset Address
long addr = (g_cmd[2] * 256) + g_cmd[3];
addr = ResetAddress(addr);
//Read
ReadIntoBuffer(addr);
//Send
Serial.write(buffer256, sizeof(buffer256));
// Reset Pinout
set_ce(HIGH); //disable chip select
set_oe(HIGH); //disable output
}
//################################
//################################
//Write
if (g_cmd[0] == 'W')
{
//Set Pinout
set_oe(HIGH); //disable output
set_we(HIGH); //disables write
SetDataLinesAsOutputs();
delay(5);
//Set Chip Type
chipType = g_cmd[1];
//Get/Reset Address
long addr = (g_cmd[2] * 256) + g_cmd[3];
addr = ResetAddress(addr);
//Add the 256bytes to write to the buffer256
int LoopIndex = 0;
while (LoopIndex < 256)
{
buffer256[LoopIndex] = g_cmd[LoopIndex + 4];
LoopIndex++;
}
//Write
WriteBufferToEEPROM(addr);
//Send 'O' --> for 'OK'
byte EndByte = 79;
Serial.write(EndByte);
//Reset Pinout
SetDataLinesAsInputs();
}
//################################
//################################
//Erase SST
if (g_cmd[0] == 'E' & g_cmd[1] == 5)
{
set_ce(HIGH);
set_oe(HIGH);
set_vpp(HIGH);
delay(1);
//erase pulse
set_ce(LOW);
delay(150);
set_ce(HIGH);
delayMicroseconds(1);
set_vpp(LOW);
delayMicroseconds(1);
//Send 'O' --> for 'OK'
byte EndByte = 79;
Serial.write(EndByte);
}
//################################
//################################
}
}
//####################################################################################################################################
//####################################################################################################################################
//####################################################################################################################################
void ReadString()
{
int i = 0;
byte c;
//Reset Array Commands
if (g_cmd[0] != 0) {
for (i = 0; i < sizeof(g_cmd); i++)
{
g_cmd[i] = 0;
}
}
//Get Serial Commands if Found
if (Serial.available())
{
Serial.readBytes(g_cmd, sizeof(g_cmd));
}
}
//##############################################################################
//##############################################################################
//##############################################################################
void SetDataLinesAsInputs()
{
pinMode(PIN_D0, INPUT);
pinMode(PIN_D1, INPUT);
pinMode(PIN_D2, INPUT);
pinMode(PIN_D3, INPUT);
pinMode(PIN_D4, INPUT);
pinMode(PIN_D5, INPUT);
pinMode(PIN_D6, INPUT);
pinMode(PIN_D7, INPUT);
}
void SetDataLinesAsOutputs()
{
pinMode(PIN_D0, OUTPUT);
pinMode(PIN_D1, OUTPUT);
pinMode(PIN_D2, OUTPUT);
pinMode(PIN_D3, OUTPUT);
pinMode(PIN_D4, OUTPUT);
pinMode(PIN_D5, OUTPUT);
pinMode(PIN_D6, OUTPUT);
pinMode(PIN_D7, OUTPUT);
}
void SetAddress(long a)
{
digitalWrite(PIN_A0, (a&1)?HIGH:LOW );
digitalWrite(PIN_A1, (a&2)?HIGH:LOW );
digitalWrite(PIN_A2, (a&4)?HIGH:LOW );
digitalWrite(PIN_A3, (a&8)?HIGH:LOW );
digitalWrite(PIN_A4, (a&16)?HIGH:LOW );
digitalWrite(PIN_A5, (a&32)?HIGH:LOW );
digitalWrite(PIN_A6, (a&64)?HIGH:LOW );
digitalWrite(PIN_A7, (a&128)?HIGH:LOW );
digitalWrite(PIN_A8, (a&256)?HIGH:LOW );
digitalWrite(PIN_A9, (a&512)?HIGH:LOW );
digitalWrite(PIN_A10, (a&1024)?HIGH:LOW );
digitalWrite(PIN_A11, (a&2048)?HIGH:LOW );
digitalWrite(PIN_A12, (a&4096)?HIGH:LOW );
digitalWrite(PIN_A13, (a&8192)?HIGH:LOW );
digitalWrite(PIN_A14, (a&16384)?HIGH:LOW);
}
void SetData(byte b)
{
digitalWrite(PIN_D0, (b&1)?HIGH:LOW );
digitalWrite(PIN_D1, (b&2)?HIGH:LOW );
digitalWrite(PIN_D2, (b&4)?HIGH:LOW );
digitalWrite(PIN_D3, (b&8)?HIGH:LOW );
digitalWrite(PIN_D4, (b&16)?HIGH:LOW );
digitalWrite(PIN_D5, (b&32)?HIGH:LOW );
digitalWrite(PIN_D6, (b&64)?HIGH:LOW );
digitalWrite(PIN_D7, (b&128)?HIGH:LOW);
}
byte ReadData()
{
byte b = 0;
if (digitalRead(PIN_D0) == HIGH) b |= 1;
if (digitalRead(PIN_D1) == HIGH) b |= 2;
if (digitalRead(PIN_D2) == HIGH) b |= 4;
if (digitalRead(PIN_D3) == HIGH) b |= 8;
if (digitalRead(PIN_D4) == HIGH) b |= 16;
if (digitalRead(PIN_D5) == HIGH) b |= 32;
if (digitalRead(PIN_D6) == HIGH) b |= 64;
if (digitalRead(PIN_D7) == HIGH) b |= 128;
return(b);
}
// converts one character of a HEX value into its absolute value (nibble)
/*byte HexToVal(byte b)
{
if (b >= '0' && b <= '9') return(b - '0');
if (b >= 'A' && b <= 'F') return((b - 'A') + 10);
if (b >= 'a' && b <= 'f') return((b - 'a') + 10);
return(0);
}*/
//##############################################################################
//##############################################################################
//##############################################################################
long ResetAddress(long addr)
{
byte hi, low;
//get high (MSB) - byte of 16 bit address ... the 27x512 has different address pin wiring
if (chipType == CHIP27SF512) {
hi = (addr >> 8) & 0x3F;
hi |= (addr >> 9) & 0x40;
//the 27x512 doesn't use WE, instead it's bit A14
digitalWrite(PIN_nWE, addr & 0x4000 ? HIGH : LOW);
} else {
hi = addr >> 8;
}
//get low (LSB) - byte of 16 bit address
low = addr & 0xff;
//Remake to Address
long ToReturn = (hi * 256) + low;
return ToReturn;
}
inline void set_we (byte state)
{
//the 27x512 doesn't have a WE pin
switch (chipType) {
case CHIP27SF512:
break;
default:
digitalWrite(PIN_nWE, state);
}
}
void set_vpp (byte state)
{
switch (chipType) {
case CHIP27SF512:
digitalWrite(PIN_nOE, state);
break;
default:
break;
}
}
inline void set_oe (byte state)
{
digitalWrite(PIN_nOE, state);
}
inline void set_ce (byte state)
{
digitalWrite(PIN_nCE, state);
}
//############################################################################
void WriteBufferToEEPROM(long addr)
{
for (byte x = 0; x < 256; ++x)
{
SetAddress(addr + x);
SetData(buffer256[x]);
switch (chipType) {
case CHIP27SF512:
delayMicroseconds(1);
set_ce(LOW); //strobe ce with programming pulse
delayMicroseconds(20); // for 27SF512 (or 100 micro)
set_ce(HIGH);
delayMicroseconds(1);
break;
default:
set_ce(LOW); //enable chip select
delayMicroseconds(1);
set_we(LOW); // enable write
delayMicroseconds(1);
//delay(10);
set_we(HIGH); // disable write
set_ce(HIGH); //disable chip select
break;
}
}
}
void ReadIntoBuffer(long addr)
{
for (int x = 0; x < 256; ++x)
{
SetAddress(addr + x);
delayMicroseconds(100);
buffer256[x] = ReadData();
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Tutorial/DIY_PCB1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
Tutorial/DIY_PCB2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
Tutorial/DIY_PCB3.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
Tutorial/DIY_PCB4.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
Tutorial/DIY_PCB5.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArduinoEPROM", "ArduinoEPROM\ArduinoEPROM.csproj", "{D1493044-875F-4EA3-932B-B5422824004C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D1493044-875F-4EA3-932B-B5422824004C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1493044-875F-4EA3-932B-B5422824004C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1493044-875F-4EA3-932B-B5422824004C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1493044-875F-4EA3-932B-B5422824004C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
</configuration>

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D1493044-875F-4EA3-932B-B5422824004C}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ArduinoEPROM</RootNamespace>
<AssemblyName>Arduino Flash&amp;Burn</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>ArduinoFlashBurn.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="ArduinoFlashBurn.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,466 @@
namespace ArduinoEPROM
{
partial class Form1
{
/// <summary>
/// Variable nécessaire au concepteur.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
/// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Code généré par le Concepteur Windows Form
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.listBox_Chips = new System.Windows.Forms.ListBox();
this.label1 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox_ChipEnd = new System.Windows.Forms.TextBox();
this.textBox_ChipStart = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.textBox_BufferEnd = new System.Windows.Forms.TextBox();
this.textBox_BufferStart = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.button_LoadBuffer = new System.Windows.Forms.Button();
this.button_SaveBuffer = new System.Windows.Forms.Button();
this.button_Write = new System.Windows.Forms.Button();
this.button_Read = new System.Windows.Forms.Button();
this.button_Erase = new System.Windows.Forms.Button();
this.button_Blank = new System.Windows.Forms.Button();
this.button_Verify = new System.Windows.Forms.Button();
this.button_Edit = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label6 = new System.Windows.Forms.Label();
this.textBox_Logs = new System.Windows.Forms.TextBox();
this.button_Close = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.label7 = new System.Windows.Forms.Label();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.DownloadPage = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.SuspendLayout();
//
// listBox_Chips
//
this.listBox_Chips.FormattingEnabled = true;
this.listBox_Chips.Items.AddRange(new object[] {
"27SF512 (SST)",
"27C256 (Read-Only)",
"29C256"});
this.listBox_Chips.Location = new System.Drawing.Point(12, 25);
this.listBox_Chips.Name = "listBox_Chips";
this.listBox_Chips.Size = new System.Drawing.Size(148, 56);
this.listBox_Chips.TabIndex = 0;
this.listBox_Chips.SelectedIndexChanged += new System.EventHandler(this.listBox_Chips_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(41, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(85, 13);
this.label1.TabIndex = 1;
this.label1.Text = "Supported Chips";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox_ChipEnd);
this.groupBox1.Controls.Add(this.textBox_ChipStart);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Location = new System.Drawing.Point(166, 20);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(216, 61);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Chip Addressing";
//
// textBox_ChipEnd
//
this.textBox_ChipEnd.Location = new System.Drawing.Point(143, 36);
this.textBox_ChipEnd.Name = "textBox_ChipEnd";
this.textBox_ChipEnd.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
this.textBox_ChipEnd.Size = new System.Drawing.Size(66, 20);
this.textBox_ChipEnd.TabIndex = 3;
this.textBox_ChipEnd.Text = "0000";
//
// textBox_ChipStart
//
this.textBox_ChipStart.Location = new System.Drawing.Point(143, 13);
this.textBox_ChipStart.Name = "textBox_ChipStart";
this.textBox_ChipStart.Size = new System.Drawing.Size(66, 20);
this.textBox_ChipStart.TabIndex = 2;
this.textBox_ChipStart.Text = "0000";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(37, 39);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(100, 13);
this.label3.TabIndex = 1;
this.label3.Text = "End Address in Hex";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(34, 16);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(103, 13);
this.label2.TabIndex = 0;
this.label2.Text = "Start Address in Hex";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.textBox_BufferEnd);
this.groupBox2.Controls.Add(this.textBox_BufferStart);
this.groupBox2.Controls.Add(this.label4);
this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Location = new System.Drawing.Point(166, 87);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(216, 60);
this.groupBox2.TabIndex = 3;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Buffer Addressing";
//
// textBox_BufferEnd
//
this.textBox_BufferEnd.Location = new System.Drawing.Point(143, 36);
this.textBox_BufferEnd.Name = "textBox_BufferEnd";
this.textBox_BufferEnd.Size = new System.Drawing.Size(66, 20);
this.textBox_BufferEnd.TabIndex = 3;
this.textBox_BufferEnd.Text = "0000";
//
// textBox_BufferStart
//
this.textBox_BufferStart.Location = new System.Drawing.Point(143, 13);
this.textBox_BufferStart.Name = "textBox_BufferStart";
this.textBox_BufferStart.Size = new System.Drawing.Size(66, 20);
this.textBox_BufferStart.TabIndex = 2;
this.textBox_BufferStart.Text = "0000";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(37, 39);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(100, 13);
this.label4.TabIndex = 1;
this.label4.Text = "End Address in Hex";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(34, 16);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(103, 13);
this.label5.TabIndex = 0;
this.label5.Text = "Start Address in Hex";
//
// button_LoadBuffer
//
this.button_LoadBuffer.Location = new System.Drawing.Point(12, 160);
this.button_LoadBuffer.Name = "button_LoadBuffer";
this.button_LoadBuffer.Size = new System.Drawing.Size(180, 23);
this.button_LoadBuffer.TabIndex = 4;
this.button_LoadBuffer.Text = "Load File to Buffer...";
this.button_LoadBuffer.UseVisualStyleBackColor = true;
this.button_LoadBuffer.Click += new System.EventHandler(this.button_LoadBuffer_Click);
//
// button_SaveBuffer
//
this.button_SaveBuffer.Location = new System.Drawing.Point(202, 160);
this.button_SaveBuffer.Name = "button_SaveBuffer";
this.button_SaveBuffer.Size = new System.Drawing.Size(180, 23);
this.button_SaveBuffer.TabIndex = 5;
this.button_SaveBuffer.Text = "Save Buffer to File...";
this.button_SaveBuffer.UseVisualStyleBackColor = true;
this.button_SaveBuffer.Click += new System.EventHandler(this.button_SaveBuffer_Click);
//
// button_Write
//
this.button_Write.Location = new System.Drawing.Point(12, 189);
this.button_Write.Name = "button_Write";
this.button_Write.Size = new System.Drawing.Size(180, 23);
this.button_Write.TabIndex = 6;
this.button_Write.Text = "Write Chip";
this.button_Write.UseVisualStyleBackColor = true;
this.button_Write.Click += new System.EventHandler(this.button_Write_Click);
//
// button_Read
//
this.button_Read.Location = new System.Drawing.Point(203, 189);
this.button_Read.Name = "button_Read";
this.button_Read.Size = new System.Drawing.Size(179, 23);
this.button_Read.TabIndex = 7;
this.button_Read.Text = "Read Chip";
this.button_Read.UseVisualStyleBackColor = true;
this.button_Read.Click += new System.EventHandler(this.button_Read_Click);
//
// button_Erase
//
this.button_Erase.Location = new System.Drawing.Point(202, 218);
this.button_Erase.Name = "button_Erase";
this.button_Erase.Size = new System.Drawing.Size(180, 23);
this.button_Erase.TabIndex = 8;
this.button_Erase.Text = "Erase Chip";
this.button_Erase.UseVisualStyleBackColor = true;
this.button_Erase.Click += new System.EventHandler(this.button_Erase_Click);
//
// button_Blank
//
this.button_Blank.Location = new System.Drawing.Point(12, 247);
this.button_Blank.Name = "button_Blank";
this.button_Blank.Size = new System.Drawing.Size(180, 23);
this.button_Blank.TabIndex = 9;
this.button_Blank.Text = "Blank Check";
this.button_Blank.UseVisualStyleBackColor = true;
this.button_Blank.Click += new System.EventHandler(this.button_Blank_Click);
//
// button_Verify
//
this.button_Verify.Location = new System.Drawing.Point(12, 218);
this.button_Verify.Name = "button_Verify";
this.button_Verify.Size = new System.Drawing.Size(180, 23);
this.button_Verify.TabIndex = 10;
this.button_Verify.Text = "Verify Chip w/ Buffer";
this.button_Verify.UseVisualStyleBackColor = true;
this.button_Verify.Click += new System.EventHandler(this.button_Verify_Click);
//
// button_Edit
//
this.button_Edit.Enabled = false;
this.button_Edit.Location = new System.Drawing.Point(202, 247);
this.button_Edit.Name = "button_Edit";
this.button_Edit.Size = new System.Drawing.Size(180, 23);
this.button_Edit.TabIndex = 11;
this.button_Edit.Text = "Edit Buffer";
this.button_Edit.UseVisualStyleBackColor = true;
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.LightGray;
this.panel1.Location = new System.Drawing.Point(0, 153);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(400, 1);
this.panel1.TabIndex = 12;
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(75, 283);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(307, 10);
this.progressBar1.TabIndex = 13;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(12, 281);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(57, 13);
this.label6.TabIndex = 14;
this.label6.Text = "Progress...";
//
// textBox_Logs
//
this.textBox_Logs.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.textBox_Logs.Location = new System.Drawing.Point(12, 299);
this.textBox_Logs.Multiline = true;
this.textBox_Logs.Name = "textBox_Logs";
this.textBox_Logs.ReadOnly = true;
this.textBox_Logs.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox_Logs.ShortcutsEnabled = false;
this.textBox_Logs.Size = new System.Drawing.Size(370, 265);
this.textBox_Logs.TabIndex = 15;
//
// button_Close
//
this.button_Close.Location = new System.Drawing.Point(203, 570);
this.button_Close.Name = "button_Close";
this.button_Close.Size = new System.Drawing.Size(100, 23);
this.button_Close.TabIndex = 17;
this.button_Close.Text = "Close";
this.button_Close.UseVisualStyleBackColor = true;
this.button_Close.Click += new System.EventHandler(this.button_Close_Click);
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.LightGray;
this.panel2.Location = new System.Drawing.Point(0, 276);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(400, 1);
this.panel2.TabIndex = 18;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.Location = new System.Drawing.Point(325, 581);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 19;
this.label7.Text = "By Bouletmarc";
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "bin";
this.openFileDialog1.Filter = "Bin Files|*.bin";
//
// saveFileDialog1
//
this.saveFileDialog1.DefaultExt = "bin";
this.saveFileDialog1.Filter = "Bin File|*.bin";
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(21, 25);
this.checkBox1.Name = "checkBox1";
this.checkBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.checkBox1.Size = new System.Drawing.Size(121, 17);
this.checkBox1.TabIndex = 20;
this.checkBox1.Text = "Advanced Loggings";
this.checkBox1.UseVisualStyleBackColor = true;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.checkBox1);
this.groupBox3.Location = new System.Drawing.Point(12, 87);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(148, 60);
this.groupBox3.TabIndex = 23;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Settings";
//
// button1
//
this.button1.Location = new System.Drawing.Point(92, 570);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 23);
this.button1.TabIndex = 24;
this.button1.Text = "Cancel Operation";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// DownloadPage
//
this.DownloadPage.AutoSize = true;
this.DownloadPage.Cursor = System.Windows.Forms.Cursors.Hand;
this.DownloadPage.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DownloadPage.Location = new System.Drawing.Point(299, 5);
this.DownloadPage.Name = "DownloadPage";
this.DownloadPage.Size = new System.Drawing.Size(83, 12);
this.DownloadPage.TabIndex = 25;
this.DownloadPage.Text = "Download Page";
this.DownloadPage.Click += new System.EventHandler(this.DownloadPage_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.MenuHighlight;
this.ClientSize = new System.Drawing.Size(394, 599);
this.Controls.Add(this.DownloadPage);
this.Controls.Add(this.button1);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.label7);
this.Controls.Add(this.panel2);
this.Controls.Add(this.button_Close);
this.Controls.Add(this.textBox_Logs);
this.Controls.Add(this.label6);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.button_Edit);
this.Controls.Add(this.button_Verify);
this.Controls.Add(this.button_Blank);
this.Controls.Add(this.button_Erase);
this.Controls.Add(this.button_Read);
this.Controls.Add(this.button_Write);
this.Controls.Add(this.button_SaveBuffer);
this.Controls.Add(this.button_LoadBuffer);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.listBox_Chips);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.Text = "Arduino Flash&Burn Interface";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ListBox listBox_Chips;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox_ChipEnd;
private System.Windows.Forms.TextBox textBox_ChipStart;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox textBox_BufferEnd;
private System.Windows.Forms.TextBox textBox_BufferStart;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Button button_LoadBuffer;
private System.Windows.Forms.Button button_SaveBuffer;
private System.Windows.Forms.Button button_Write;
private System.Windows.Forms.Button button_Read;
private System.Windows.Forms.Button button_Erase;
private System.Windows.Forms.Button button_Blank;
private System.Windows.Forms.Button button_Verify;
private System.Windows.Forms.Button button_Edit;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox_Logs;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button_Close;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label DownloadPage;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,293 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>157, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAABILAAASCwAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wAzAP//MwD//zMA//8zAP//MwD//zMA//8zAP//////AP///wD///8A////ADMA//8zAP//MwD//zMA
//8zAP//////AP///wAzAP//MwD//////wD///8A////ADMA//8zAP//////AP///wAzAP//MwD/////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wAzAP//MwD//////wD///8A////AP///wAzAP//MwD//////wD///8AMwD//zMA
//////8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////ADMA//8zAP//////AP//
/wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////AP///wAzAP//MwD/////
/wD///8AMwD//zMA//////8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////ADMA
//8zAP//////AP///wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////AP//
/wAzAP//MwD//////wD///8AMwD//zMA//////8A////ADMA//8zAP//////AP///wAzAP//MwD/////
/wD///8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAzAP//MwD/////
/wD///8A////AP///wAzAP//MwD//////wD///8AMwD//zMA//////8A////ADMA//8zAP//////AP//
/wAzAP//MwD//////wD///8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wAzAP//MwD//zMA//8zAP//MwD//zMA//8zAP//////AP///wD///8AMwD//zMA//////8A////ADMA
//8zAP//////AP///wAzAP//MwD//zMA//////8A////ADMA//8zAP//////AP///wAzAP//MwD/////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wAzAP//MwD//////wD///8A////AP///wAzAP//MwD//////wD///8AMwD//zMA
//////8A////ADMA//8zAP//////AP///wAzAP//MwD//zMA//8zAP//////ADMA//8zAP//MwD//zMA
//8zAP//////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////AP///wAzAP//MwD/////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////AP//
/wAzAP//MwD//////wD///8ApKCg/8DcwP+koKD/8Pv//////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAzAP//MwD//zMA
//8zAP//MwD//zMA//8zAP//TU1N/01NTf8AMzP/pKCg///////w+////+zM/6SgoP////8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AVVVV/1VVVf9NTU3/ZjMz/2YzM/8AMzP/ZjMz/2YzM/8EBAT/pKCg////////////srKy/2Yz
M/+Ghob/wNzA/4aGhv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AFVVVf9VVVX/VVVV/2YzM/8AMzP/BAQE/wQEBP8EBAT/BAQE/wAzM/8EBAT/pKCg////
////////pKCg/wQEBP9VVVX/8Pv///D7///A3MD/pKCg/////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wBVVVX/VVVV/01NTf9NTU3/ADMz/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE
BP8EBAT/pKCg////////////pKCg/wAzM/9mMzP/8Pv////szP/w+///VVVV/1VVVf+koKD/pKCg////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8AhoaG/1VVVf9VVVX/TU1N/2YzM/8jIgT/OTgD/5WQAf+alQD/m5UA/5uU
AP+ZlQD/m5QA/2NeAv8rKQT/pKB/////////////pKCg/wQEBP8AMzP/8Pv////szP//7Mz/ZjMz/yBH
Kf+zw3r/mpUA/5qVAP+alQD/m5YA/5qVAP+alQD/oJsAjqihADmnoQA2////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wBVVVX/VVVV/01NTf9mMzP/BAQE/zc1A/+blgD/mZQA/5uW
AP+blgD/m5YA/5uWAP+alQD/mpYA/5mVAP+XkwD/mJQA/+Hfqf//////hoaG/wQEBP9mMzP/8Pv///D7
////7Mz/NFQi/5uWAP+ZlAD/mpUA/5uWAP+blgD/m5YA/5uWAP+alQD/mpUA/5eSAP+SjQD/qqQAVv//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVVVX/ZjMz/wAzM/8KCgT/RUMD/5GM
Af+blQD/m5YA/5qVAP+clwD/mpUA/5uWAP+clgD/m5YA/5qWAP+alQD/nJcA/6ijEv/c2p7/hoaG/wQE
BP8AMzP///////D7///ZuJ7/kI4E/5qWAP+blgD/m5YA/5uWAP+alQD/m5YA/5yXAP+blgD/mpUA/5uW
AP+gmwD/pZ8A7aSgAGH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AhoaG/7Ky
sv82VSL/lZAB/5mUAP+algD/mpUA/4B9Gv8YQiv/bkIr/xlDK/8cGwT/GxsE/2hlAv+blgD/mpUA/5qU
AP+loRD/bm05/wQEBP9mMzP/8Pv//93cqf+gmxD/mpYA/5uWAP+blQD/vbNE/5nErP9ubVb/HBsE/2Bf
SP/j69b/o6A8/5qVAP+YkwD/mpUA/6KcC/+Pjln/////AP///wD///8A////AP///wD///8A////AP//
/wD///8AVVVV/19eO/+ZlAD/mZQA/5uVAP+XkgT/ZjMz/wAzM/9mMzP/ZjMz/wAzM/8EBAT/BAQE/2Yz
M/+5tUr/n5kI/5qVAP+ZkwD/n5sA/ygnBP9mZmb/5+bB/5mUAP+alQD/m5YA/5ONAf/A3MD/8Pv////s
zP9VVVX/BAQE/2ZmZv//7Mz/wNzA/42LVf+TjgH/mZQA/5yXAP+fmwD/pKCA/4aGhv////8A////AP//
/wD///8A////AP///wAEBAT/BAQE/5uWAP+alQD/m5YA/3uBC/8AMzP/ZjMz/2YzM/8AMzP/ZjMz/2Yz
M/8AMzP/BAQE/wQEBP8AMzP/i4pk/5qVAP+blQD/mZQA/56aAP/s3Kb/mpUA/5qVAP+alAD/enYB/wQE
BP+ZzMz//+zM//D7//+Ghob/BAQE/1VVVf//zP//wNzA/4aGhv8EBAT/m5YA/5mVAP+algD/kpBP/2Yz
M/////8A////AP///wD///8A////AAQEBP8AMzP/ZjMz/5qVAP+alQD/mpUA/3BGKf9mMzP/ADMz/2Yz
M/9mMzP/ADMz/wAzM/9mMzP/ADMz/wQEBP8EBAT/BAQE/2FfAv+blAD/m5YA/5mUAP+opSf/m5YA/5qU
AP+alQD/IiEE/wQEBP//7Mz/8Pv///D7//9ycDX/UE0D/1VVVf//zP//wNzA/4aGhv8EBAT/gH0g/5uW
AP+algD/mpUA/2YzM/////8A////AP///wD///8A////AAQEBP9mMzP/d1Qi/5qVAP+blgD/mZQA/3BG
Kf8AMzP/ZjMz/wAzM/8AMzP/ADMz/2YzM/8AMzP/ZjMz/wAzM/9mMzP/ZjMz/w4NBP9cWQL/m5UA/5uW
AP+blgD/m5YA/5mUAP99eiP/Dg0E/01NTf////////////////+JhxD/qKIA/2ZmZv/w+///wNzA/4aG
hv8AMzP/XFs+/5qVAP+blgD/m5YA/wAzM/////8A////AP///wD///8A////AAQEBP9NTU3/kpAD/5uW
AP+blQD/fWAc/wM1Mv9mMzP/ADMz/2YzM/8AMzP/ZjMz/wAzM/8AMzP/ADMz/2YzM/8AMzP/ADMz/2Yz
M/8kSif/gYQJ/5qVAP+blQD/mpUA/4B+H/8KCgT/BAQE//D7////////3Nuo/6qmJv+YkgL/nJYA/5uX
FP/Hyn3//+zM/4aGhv8AMzP/Y2JE/5mUAP+algD/m5YA/2YzM/////8A////AP///wD///8A////AAQE
BP9mMzP/m5YA/5uWAP+ZlAD/QFse/2YzM/8AMzP/HUUq/42NBv+Uiwb/iosG/5SKBv+Tigb/iooG/zlY
If9mMzP/ADMz/wAzM/9oNzH/Y3IT/5qVAP+alQD/mpUA/2BdAv8FBQT/BAQE/6SgoP//////19WZ/5qW
AP+blwD/mJMA/56YAP/EwWX//////4aGhv8EBAT/XFs+/5mVAP+blgD/mpUA/wAzM/////8A////AP//
/wD///8A////AAQEBP8AMzP/inYQ/5uWAP+ZlAD/jXkR/w48L/9mMzP/ADMz/2YzM/8AMzP/ZjMz/wAz
M/8AMzP/ZjMz/wAzM/8AMzP/ZjMz/wAzM/97Wh//mZQA/5qVAP+alQD/mZQA/5KEC/8hIAT/BAQE/wQE
BP8EBAT/i4pi/4SAG/+RjAH/mJMA/725UP/X1Zb//////1VVVf8EBAT/XFs+/5qWAP+blgD/mpUA/2Yz
M/////8A////AP///wD///8A////AP///wAEBAT/BAQE/5qVAP+alQD/mpYA/3BGKf8AMzP/ZjMz/wAz
M/9mMzP/ADMz/wAzM/9mMzP/ADMz/2YzM/9mMzP/ADMz/2s9Lv9ueQ//mpUA/5uWAP+blgD/mpUA/5qV
AP9veg//ET4u/2YzM/8EBAT/BAQE/wQEBP98dwH/n5oA////////////8Pv//2YzM/8EBAT/iols/5uW
AP+blgD/m5YA/wAzM/////8A////AP///wD///8A////AP///wD///8A////AJqVAP+blgD/mZQA/3mA
C/8AMzP/ZjMz/wAzM/8AMzP/ADMz/2YzM/8AMzP/ADMz/wAzM/8AMzP/ZjMz/3mAC/+alQD/mpUA/5uW
AP90TSb/mpUA/5qVAP+blgD/k4UL/wAzM/9mMzP/ADMz/2YzM/8jIgT/LSsD/wQEBP+koKD/pKCg/wQE
BP9mMzP/rKs1/5qVAP+alQD/mpUA/wQEBP9mMzP/////AP///wD///8A////AP///wD///8A////AJqV
AD6algD/mpUA/5qVAP+SjQH/BAQE/2YzM/8AMzP/ZjMz/wAzM/9mMzP/ADMz/2YzM/8AMzP/kpAD/5qV
AP+blgD/mZQA/3JKJ/8AMzP/mpUA/5qVAP+alQD/mZQA/5WRA/9mMzP/ADMz/wAzM/9mMzP/ADMz/wQE
BP8EBAT/BAQE/wQEBP+ZlAf/m5YA/5mVAP+blgD/ckon/wQEBP8EBAT/////AP///wD///8A////AP//
/wD///8A////AJqVACuZlQDnmpUA/5qWAP+alAD/gYUJ/xsaBP8cHAT/Czow/2c1Mv8YQiz/bUIr/1hr
Fv+ZkwL/mpUA/5uVAP+ZlQD/lYwF/xlDK/8AMzP/bkMr/4uLBf+alQD/mpUA/5uVAP+BhQn/bkIr/xlD
K/8WQSz/ZjQz/w48L/9uQiv/HBsE/4F9Af+blgD/mpUA/5uWAP93dSz/BDUy/wQEBP8EBAT/////AP//
/wD///8A////AP///wD///8A////AP///wCalQBBmZQA2pqVAP+blgD/mpUA/5qVAP+fmgD/Z2QC/0lH
A/+XkgH/m5YA/5qVAP+blgD/mpUA/5mUAf+Chgn/J0sm/wAzM/9mMzP/ADMz/ydMJv+ShQj/mpUA/5uW
AP+alQD/nJYA/6GbAP+elQT/QV4f/49+Dv+blQD/m5UA/5uWAP+algD/mZMA/4eCAf8qKQP/BAQE/wQE
BP8EBAT/////AP///wD///8A////AP///wD///8A////AP///wD///8AmpUAQZmVAOKalQD/m5UA/5yW
AP+alQD/mZQA/5mUAP+alQD/m5YA/5yVAP+blgD/mZQA/0BcHv9ySif/ADMz/2YzM/8AMzP/ADMz/2Yz
M/8nSyb/fF0d/5qVAP+blgD/m5cA/5mUAP+ZlAD/mZQA/5qVAP+clgD/m5YA/5qWAP+blgD/fmAc/ydL
Jv8AMzP/BAQE/wQEBP8EBAT/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AJqW
ACualQA2mpQA/5uVAP+alQD/m5YA/5uWAP+alQD/mpUA/5qUAP89OwP/JCME/wQEBP8AMzP/ZjMz/wAz
M/9mMzP/ADMz/wAzM/9mMzP/ATMz/3FHKf94fwz/m5YA/5qVAP+blgD/m5YA/5qVAP+blQD/mpQA/5qW
AP8gRyn/ZjQz/wU2Mv9vRSr/a2gC/wQEBP9mMzP/////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AmpUAqJqVANv///8A////AP///wD///8A////AGYz
M/8EBAT/BAQE/wQEBP8AMzP/ZjMz/wAzM/8AMzP/ZjMz/wAzM/8AMzP/ZjMz/wAzM/9uQyv/jY0E/4Bl
Gf8AMzP/ADMz/2YzM/8AMzP/ADMz/wQEBP8EBAT/ADMz/////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AAAzM/8EBAT/BAQE/wAzM/9mMzP/ADMz/wAzM/9mMzP/ADMz/wAz
M/8AMzP/ZjMz/wAzM/8AMzP/ZjMz/wAzM/8EBAT/BAQE/2YzM/////8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AZjMz/wQEBP8EBAT/BAQE/2Yz
M/8AMzP/ZjMz/wAzM/9mMzP/ADMz/2YzM/8EBAT/BAQE/wQEBP////8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AADMz/wQEBP8EBAT/ADMz/2YzM/8AMzP/BAQE/wQEBP8EBAT/////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA
//////8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////ADMA//8zAP//MwD//zMA
//8zAP//////AP///wD///8AMwD//zMA//8zAP//MwD//wQEBP8EBAT/ADMz/zMA//8zAP//////AP//
/wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AMwD//zMA//////8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8AMwD//zMA
//////8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8AMwD//zMA//////8A////ADMA
//8zAP//////AP///wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8AMwD//zMA//////8A////AP///wD///8A////AP///wAzAP//MwD/////
/wD///8AMwD//zMA//////8A////ADMA//8zAP//////AP///wD///8A////AP///wD///8AMwD//zMA
//////8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA//////8A////AP///wD///8A////AP//
/wAzAP//MwD//////wD///8A////ADMA//8zAP//////ADMA//8zAP//////AP///wD///8AMwD//zMA
//8zAP//MwD//////wD///8A////ADMA//8zAP//////AP///wAzAP//MwD//////wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA//////8A////AP//
/wD///8A////AP///wAzAP//MwD//////wD///8A////AP///wAzAP//MwD//zMA//8zAP//////AP//
/wAzAP//MwD//////wD///8A////AP///wD///8A////ADMA//8zAP//////AP///wAzAP//MwD/////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA
//8zAP//MwD//zMA//8zAP//////AP///wAzAP//MwD//////wD///8AMwD//zMA//////8A////ADMA
//8zAP//////AP///wAzAP//MwD//////wD///8AMwD//zMA//////8A////ADMA//8zAP//////AP//
/wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AMwD//zMA//////8A////AP///wD///8A////AP///wAzAP//MwD//////wD///8A////ADMA
//8zAP//MwD//zMA//////8A////AP///wD///8AMwD//zMA//8zAP//MwD//////wD///8A////ADMA
//8zAP//MwD//zMA//8zAP//////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8AMwD//zMA//////8A////AP///wD///8A////AP///wAzAP//MwD/////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////ADMA//8zAP//////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA//////8A////AP///wD///8A////AP//
/wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////ADMA//8zAP//////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AMwD//zMA//8zAP//MwD//zMA
//8zAP//MwD//////wAzAP//MwD//////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////ADMA//8zAP//////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////8AAP///////wAA/4DwZzP/
AAD/nmZnM/8AAP+eZmcz/wAA/55mZzP/AAD/nmZnM/8AAP+A5mMz/wAA/55mYQf/AAD/nn////8AAP+e
Yf///wAA/4AA////AAD/wAAf//8AAP8AAAf//wAA/AAAAP//AADwAAAAAP8AAOAAAAAAfwAA4AAAAAA/
AADwAAAAAB8AAPAAAAAABwAA4AAAAAAHAADAAAAAAAcAAMAAAAAABwAAwAAAAAAHAADAAAAAAAcAAMAA
AAAABwAA4AAAAAAHAAD4AAAAAAMAAPgAAAAAAwAA+AAAAAADAAD8AAAAAAMAAP4AAAAAAwAA/wAAAAAD
AAD/+fAAAA8AAP///gAAPwAA////gAH/AAD////wB/8AAP5+cHAGfwAA/n5mZmZ/AAD+fmZ+Zn8AAP5+
cnDmfwAA/n54Z+Z/AAD+BmZmZn8AAP5+cPDg/wAA/n5//+f/AAD+fn//5/8AAP4Cf//n/wAA////////
AAA=
</value>
</data>
</root>

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace ArduinoEPROM
{
static class Program
{
/// <summary>
/// Point d'entrée principal de l'application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Les informations générales relatives à un assembly dépendent de
// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
// associées à un assembly.
[assembly: AssemblyTitle("Arduino EPROM")]
[assembly: AssemblyDescription("Arduino EPROM Reader / Writer")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("BM Devs")]
[assembly: AssemblyProduct("Arduino EPROM")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly
// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de
// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
[assembly: ComVisible(false)]
// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
[assembly: Guid("d1493044-875f-4ea3-932b-b5422824004c")]
// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
//
// Version principale
// Version secondaire
// Numéro de build
// Révision
//
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
// en utilisant '*', comme indiqué ci-dessous :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ArduinoEPROM.Properties {
using System;
/// <summary>
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
/// </summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ArduinoEPROM.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ArduinoEPROM.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,9 @@
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\ArduinoEPROM.csprojResolveAssemblyReference.cache
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\ArduinoEPROM.Form1.resources
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\ArduinoEPROM.Properties.Resources.resources
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\ArduinoEPROM.csproj.GenerateResource.Cache
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\bin\Debug\Arduino Flash&Burn.exe.config
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\bin\Debug\Arduino Flash&Burn.exe
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\bin\Debug\Arduino Flash&Burn.pdb
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\Arduino Flash&Burn.exe
c:\users\coco\documents\visual studio 2015\Projects\ArduinoEPROM\ArduinoEPROM\obj\Debug\Arduino Flash&Burn.pdb