Preliminary main mbed library for nexpaq development

Revision:
0:6c56fb4bc5f0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libraries/tests/mbed/i2c_at30tse75x/main.cpp	Fri Nov 04 20:27:58 2016 +0000
@@ -0,0 +1,58 @@
+#include "test_env.h"
+#include "AT30TSE75X.h"
+
+#define NB_PAGE 16
+#define NB_BYTE 16
+
+uint8_t rx[NB_BYTE], tx[NB_BYTE]="123456789ABCDEF";
+
+#if defined(TARGET_SAMR21G18A)
+AT30TSE75X temp_eeprom(PA16, PA17);
+#elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A)
+AT30TSE75X temp_eeprom(PA08, PA09);
+#elif defined(TARGET_SAMG55J19)
+AT30TSE75X temp_eeprom(PB10, PB11);
+#else
+#error "Target to be defined"
+#endif
+
+int main() {
+    MBED_HOSTTEST_TIMEOUT(10);
+    MBED_HOSTTEST_SELECT(default_auto);
+    MBED_HOSTTEST_DESCRIPTION(AT30TSE75X Interface);
+    MBED_HOSTTEST_START("MBED_NEW");
+    float t;
+	int i;
+	
+	/* Write pages in EEPROM */
+	for (i = 0; i < NB_PAGE; i++) {
+		tx[NB_PAGE - 1] = i;
+		if (temp_eeprom.write_eeprom(tx, NB_BYTE, 0, i) != 0) {
+			printf("Write EEPROM error\r");
+			return 0;
+		}
+		wait_ms(5);
+	}
+	printf("Write EEPROM OK\r");
+
+	/* Read each page in EEPROM and compare them */
+	for (i = 0; i < NB_PAGE; i++) {
+		memset(rx, 0, NB_BYTE);
+		if (temp_eeprom.read_eeprom(rx, NB_BYTE, 0, i) != 0) {
+			printf("Read EEPROM error\r");
+			return 0;
+			} else {
+			if (memcmp(tx, rx, NB_BYTE - 1) && (rx[NB_PAGE - 1] != i)) {
+				printf("Comparison error\r");
+				return 0;
+			}
+		}
+	}
+	printf("Read EEPROM & Compare OK\r");
+
+    while (1){
+      t = temp_eeprom.read_temp();
+      printf("Temperature: %f\n\r", t);
+      wait(1);
+    }
+}