wimbeaumont Project / Mbed 2 deprecated AT30TSE752TST

Dependencies:   AT30TSE75x DevInterfaces I2Cinterfaces mbed

Fork of MCP4728test by wimbeaumont Project

Files at this revision

API Documentation at this revision

Comitter:
wbeaumont
Date:
Tue Jan 17 13:44:20 2017 +0000
Parent:
2:8ce5a2128381
Child:
4:4d20444d5116
Commit message:
write TSENSOR to ee-prom, write protect ee-prom

Changed in this revision

AT30TSE75x.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/AT30TSE75x.lib	Fri Jan 13 12:28:09 2017 +0000
+++ b/AT30TSE75x.lib	Tue Jan 17 13:44:20 2017 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/wbeaumont/code/AT30TSE75x/#7cb648bc5c2a
+https://developer.mbed.org/users/wbeaumont/code/AT30TSE75x/#c0db18a0c56b
--- a/main.cpp	Fri Jan 13 12:28:09 2017 +0000
+++ b/main.cpp	Tue Jan 17 13:44:20 2017 +0000
@@ -7,7 +7,7 @@
  * (C) Wim Beaumont Universiteit Antwerpen 2017 
  */ 
 
-#define AT30TSE753EXAMPLEVER "0.40"
+#define AT30TSE753EXAMPLEVER "0.56"
 
 #include "mbed.h"
 
@@ -49,15 +49,21 @@
 }        
 
 
-int main(void) {
-   char str1[16] = "SOLID Temp";
-   char write_eprom= 'n';
+int main(void) {  //432109876543210 \0   
+   char str1[16] = "SOLTEMPERAT0230";
+   char str2[16] ;
+   char str3[16]=  "20170116...0230" ;
+   char resp[3];
    // get the version of getVersion 
    getVersion gv;
    int addr=0;
+   int i2cerr;
+   int cnt=0;
+   
    printf("AT30TSE752  example program version %s, compile date %s time %s\n\r",AT30TSE753EXAMPLEVER,__DATE__,__TIME__);
    printf("getVersion :%s\n\r ",gv.getversioninfo());
    printf("%s\n\r",str1);
+   
    printf("give new addr "); scanf("%d", &addr);
    if ( addr < 0 || addr > 15) addr=0;
    fflush(stdin);
@@ -65,28 +71,51 @@
    AT30TSE75x tid( i2cdev ,addr); 
    printf ( "AT30SE75x version :%s\n\r ",tid.getversioninfo());
    printf( "Taddr %x , Eaddr %x  subaddr %d\n\r ", tid.getTaddr(),tid.getEaddr(), addr);
+   i2cerr=tid.get_eeprom_protec();
+   if ( i2cerr ) { printf("ee-prom write protected \n\r");}
+   else { printf("ee-prom NOT write protected \n\r"); }
    
-   int cnt=0;
-   int i2cerr;
+ 
+   
    i2cerr=tid.set_config();
    if( i2cerr) printf("config not set  %d \n\r", i2cerr);
    int configrd= tid.read_config( 0, &i2cerr);
    printf( " config %x  I2cerr %d \n\r", configrd,i2cerr ); 
-   printf("write to eprom ?"); scanf("%c",&write_eprom);
-   int pagenr=0;write_eprom = 'y';
-   if(write_eprom == 'y'){   
-    printf("\n\rgive pagenr");
-    scanf("%d",&pagenr);
-    i2cerr= tid.write_eeprompage(str1, 16, 0, (uint8_t) pagenr);
+   printf("write to eprom ?"); scanf("%s",resp);
+   int pagenr=0;
+   int sernr;
+   if(resp[0] == 'y'){  
+    i2cerr= tid.write_eeprompage(str1, 16, 0, (uint8_t) pagenr++);
     if(i2cerr) printf("eeprom write error %d\n\r",i2cerr);
+    printf("give serial nr to write "); scanf("%d",&sernr);
+    sprintf(str2,"%015d",sernr);
+    i2cerr= tid.write_eeprompage(str2, 16, 0, (uint8_t) pagenr++);
+    wait_ms(400); // give some time to write 
+    i2cerr= tid.write_eeprompage(str3, 16, 0, (uint8_t) pagenr);
    }
    wait_ms(400); // give some time to write 
+   //strcpy(str1,"newstr1");strcp(str2,"newstr2");strcp(str3,"newstr3");
+   bool fix=true;
    while(1) {
-    i2cerr=tid.read_eeprompage(str1, 16, 0, (uint8_t) pagenr);
+    pagenr=0;
+    i2cerr=tid.read_eeprompage(str1, 16, 0, (uint8_t) pagenr++);
+    if(i2cerr) printf("eeprom read error %d \n\r",i2cerr);
+    
+    i2cerr=tid.read_eeprompage(str2, 16, 0, (uint8_t) pagenr++);
+    if(i2cerr) printf("eeprom read error %d \n\r",i2cerr);
+    i2cerr=tid.read_eeprompage(str3, 16, 0, (uint8_t) pagenr);
     if(i2cerr) printf("eeprom read error %d \n\r",i2cerr);
-    str1[15]='\0'; //make sure it ends 
-    printf("eeprom content page %d :\n\r %s\n\r",pagenr,str1);
+    str1[15]='\0';str2[15]='\0';str3[15]='\0'; //make sure it ends 
+    printf("eeprom content page %d :\n\r %s  %s  %s \n\r",pagenr,str1 ,str2 ,str3 );
     //print_buf_hex( str1,16);
+    if ( fix) {
+        printf("protect eeprom ?") ; scanf("%s",resp);
+        if(resp[0] == 'y'){  
+            i2cerr=tid.protect_eeprom();
+            if(i2cerr) printf("eeprom  protect failed %d \n\r", i2cerr);
+        }
+        // fix=false;
+    }
     char singlechar;
     i2cerr=tid.read_eeprombyte(singlechar, 3, (uint8_t) pagenr); 
     if(i2cerr) printf("eeprom read error %d \n\r",i2cerr);