Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: AT30TSE75x DevInterfaces I2Cinterfaces mbed
Fork of MCP4728test by
Revision 3:789bc6653f83, committed 2017-01-17
- 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);
