ON Semiconductor / mbed-os

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
group-onsemi
Date:
Wed Jan 25 20:34:15 2017 +0000
Revision:
0:098463de4c5d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 #include "test_env.h"
group-onsemi 0:098463de4c5d 2 #include "AT30TSE75X.h"
group-onsemi 0:098463de4c5d 3
group-onsemi 0:098463de4c5d 4 #define NB_PAGE 16
group-onsemi 0:098463de4c5d 5 #define NB_BYTE 16
group-onsemi 0:098463de4c5d 6
group-onsemi 0:098463de4c5d 7 uint8_t rx[NB_BYTE], tx[NB_BYTE]="123456789ABCDEF";
group-onsemi 0:098463de4c5d 8
group-onsemi 0:098463de4c5d 9 #if defined(TARGET_SAMR21G18A)
group-onsemi 0:098463de4c5d 10 AT30TSE75X temp_eeprom(PA16, PA17);
group-onsemi 0:098463de4c5d 11 #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A)
group-onsemi 0:098463de4c5d 12 AT30TSE75X temp_eeprom(PA08, PA09);
group-onsemi 0:098463de4c5d 13 #elif defined(TARGET_SAMG55J19)
group-onsemi 0:098463de4c5d 14 AT30TSE75X temp_eeprom(PB10, PB11);
group-onsemi 0:098463de4c5d 15 #else
group-onsemi 0:098463de4c5d 16 #error "Target to be defined"
group-onsemi 0:098463de4c5d 17 #endif
group-onsemi 0:098463de4c5d 18
group-onsemi 0:098463de4c5d 19 int main() {
group-onsemi 0:098463de4c5d 20 MBED_HOSTTEST_TIMEOUT(10);
group-onsemi 0:098463de4c5d 21 MBED_HOSTTEST_SELECT(default_auto);
group-onsemi 0:098463de4c5d 22 MBED_HOSTTEST_DESCRIPTION(AT30TSE75X Interface);
group-onsemi 0:098463de4c5d 23 MBED_HOSTTEST_START("MBED_NEW");
group-onsemi 0:098463de4c5d 24 float t;
group-onsemi 0:098463de4c5d 25 int i;
group-onsemi 0:098463de4c5d 26
group-onsemi 0:098463de4c5d 27 /* Write pages in EEPROM */
group-onsemi 0:098463de4c5d 28 for (i = 0; i < NB_PAGE; i++) {
group-onsemi 0:098463de4c5d 29 tx[NB_PAGE - 1] = i;
group-onsemi 0:098463de4c5d 30 if (temp_eeprom.write_eeprom(tx, NB_BYTE, 0, i) != 0) {
group-onsemi 0:098463de4c5d 31 printf("Write EEPROM error\r");
group-onsemi 0:098463de4c5d 32 return 0;
group-onsemi 0:098463de4c5d 33 }
group-onsemi 0:098463de4c5d 34 wait_ms(5);
group-onsemi 0:098463de4c5d 35 }
group-onsemi 0:098463de4c5d 36 printf("Write EEPROM OK\r");
group-onsemi 0:098463de4c5d 37
group-onsemi 0:098463de4c5d 38 /* Read each page in EEPROM and compare them */
group-onsemi 0:098463de4c5d 39 for (i = 0; i < NB_PAGE; i++) {
group-onsemi 0:098463de4c5d 40 memset(rx, 0, NB_BYTE);
group-onsemi 0:098463de4c5d 41 if (temp_eeprom.read_eeprom(rx, NB_BYTE, 0, i) != 0) {
group-onsemi 0:098463de4c5d 42 printf("Read EEPROM error\r");
group-onsemi 0:098463de4c5d 43 return 0;
group-onsemi 0:098463de4c5d 44 } else {
group-onsemi 0:098463de4c5d 45 if (memcmp(tx, rx, NB_BYTE - 1) && (rx[NB_PAGE - 1] != i)) {
group-onsemi 0:098463de4c5d 46 printf("Comparison error\r");
group-onsemi 0:098463de4c5d 47 return 0;
group-onsemi 0:098463de4c5d 48 }
group-onsemi 0:098463de4c5d 49 }
group-onsemi 0:098463de4c5d 50 }
group-onsemi 0:098463de4c5d 51 printf("Read EEPROM & Compare OK\r");
group-onsemi 0:098463de4c5d 52
group-onsemi 0:098463de4c5d 53 while (1){
group-onsemi 0:098463de4c5d 54 t = temp_eeprom.read_temp();
group-onsemi 0:098463de4c5d 55 printf("Temperature: %f\n\r", t);
group-onsemi 0:098463de4c5d 56 wait(1);
group-onsemi 0:098463de4c5d 57 }
group-onsemi 0:098463de4c5d 58 }