summaryrefslogtreecommitdiffstats
path: root/progAVR.c
diff options
context:
space:
mode:
Diffstat (limited to 'progAVR.c')
-rw-r--r--progAVR.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/progAVR.c b/progAVR.c
index 47fdcc4..839e1f6 100644
--- a/progAVR.c
+++ b/progAVR.c
@@ -81,13 +81,13 @@ struct AVRID{
{0x9706,"ATmega1284"},
};
-void AtmelID(BYTE id[])
+static bool AtmelID(BYTE id[])
{
char str[128]="";
int i,idw=(id[1]<<8)+id[2];
if(id[0]==0&&id[1]==1&&id[2]==2){
PrintMessage(strings[S_Protected]); //"Device protected"
- return;
+ return false;
}
if(id[0]==0x1E) strcat(str,"Atmel ");
for(i=0;i<sizeof(AVRLIST)/sizeof(AVRLIST[0]);i++){
@@ -122,9 +122,13 @@ void AtmelID(BYTE id[])
strcat(str," 128KB Flash");
break;
}
- if(i!=1001) strcat(str,strings[S_nodev]); //"Unknown device\r\n");
- else strcat(str,"\r\n");
+ if(i!=1001) {
+ PrintMessage(strings[S_nodev]); //"Unknown device\r\n");
+ return false;
+ }
+ strcat(str,"\r\n");
PrintMessage(str);
+ return true;
}
void DisplayCODEAVR(int dim){
@@ -582,7 +586,7 @@ void ReadAT(int dim, int dim2, int options)
for(z+=3;z<DIMBUF-2&&bufferI[z]!=SPI_READ;z++);
signature[2]=bufferI[z+2];
PrintMessage3("CHIP ID:%02X%02X%02X\r\n",signature[0],signature[1],signature[2]);
- AtmelID(signature);
+ if (!AtmelID(signature)) return;
if(options&LOCK){ //LOCK byte
for(z+=3;z<DIMBUF-2&&bufferI[z]!=SPI_READ;z++);
PrintMessage1("LOCK bits:\t 0x%02X\r\n",bufferI[z+2]);
@@ -908,7 +912,7 @@ void ReadAT_HV(int dim, int dim2, int options)
for(z+=2;z<DIMBUF-1&&bufferI[z]!=AT_HV_RTX;z++);
signature[2]=bufferI[z+1];
PrintMessage3("CHIP ID:%02X%02X%02X\r\n",signature[0],signature[1],signature[2]);
- AtmelID(signature);
+ if (!AtmelID(signature)) return;
if(options&LOCK){ //LOCK byte
for(z+=2;z<DIMBUF-1&&bufferI[z]!=AT_HV_RTX;z++);
PrintMessage1("LOCK byte:\t 0x%02X\r\n",bufferI[z+1]);
@@ -1258,7 +1262,7 @@ void WriteAT(int dim, int dim2, int dummy1, int dummy2)
for(z+=3;z<DIMBUF-2&&bufferI[z]!=SPI_READ;z++);
signature[2]=bufferI[z+2];
PrintMessage3("CHIP ID:%02X%02X%02X\r\n",signature[0],signature[1],signature[2]);
- AtmelID(signature);
+ if (!AtmelID(signature)) return;
//****************** erase memory ********************
PrintMessage(strings[S_StartErase]); //"Erase ... "
if(saveLog) fprintf(logfile,"%s\n",strings[S_StartErase]);
@@ -1492,7 +1496,7 @@ void WriteATmega(int dim, int dim2, int page, int options)
for(z+=3;z<DIMBUF-2&&bufferI[z]!=SPI_READ;z++);
signature[2]=bufferI[z+2];
PrintMessage3("CHIP ID:%02X%02X%02X\r\n",signature[0],signature[1],signature[2]);
- AtmelID(signature);
+ if (!AtmelID(signature)) return;
//****************** erase memory ********************
PrintMessage(strings[S_StartErase]); //"Erase ... "
if(saveLog) fprintf(logfile,"%s\n",strings[S_StartErase]);
@@ -1896,7 +1900,7 @@ void WriteAT_HV(int dim, int dim2, int page, int options)
for(z+=2;z<DIMBUF-1&&bufferI[z]!=AT_HV_RTX;z++);
signature[2]=bufferI[z+1];
PrintMessage3("CHIP ID:%02X%02X%02X\r\n",signature[0],signature[1],signature[2]);
- AtmelID(signature);
+ if (!AtmelID(signature)) return;
//****************** erase memory ********************
if(saveLog)fprintf(logfile,"CHIP ERASE\n");
j=0;