intiial commit

Dependencies:   MAX8614X USBDevice max32630hsp_test

Revision:
12:fc888315e5fd
Parent:
11:ec7998257ec2
Child:
13:97854f761347
--- a/main.cpp	Thu Aug 16 20:12:20 2018 +0000
+++ b/main.cpp	Thu Aug 16 20:44:08 2018 +0000
@@ -36,7 +36,7 @@
 #include "max32630hsp.h"
 #include "MAX8614X.h"
 #include "USBSerial.h"
-void executeSha256(MAX8614X &m, uint8_t *challenge, unsigned int challengeLen);
+void executeSha256(MAX8614X &m, uint8_t *challenge, unsigned int challengeLen, bool romID);
 
 
 MAX32630HSP icarus(MAX32630HSP::VIO_1V8);
@@ -100,7 +100,7 @@
 //    m.readRegister(MAX8614X::MAX8614X_PART_ID_REG, data, 1);
 //    printf("device id should be 0x24, reg %02X = %02X\r\n", MAX8614X::MAX8614X_PART_ID_REG, data[0]);
 
-    executeSha256(m, challenge_1, CHALLENGE_SZ_NO_SECRET);
+    executeSha256(m, challenge_1, CHALLENGE_SZ_NO_SECRET, 1);
    //● Compare MAC from MAX86140 wth Host's precalculated MAC.
     //● Check PASS or FAIL.
     //● Disable SHA_EN bit ( Write 0 to SHA_EN bit).     
@@ -143,7 +143,7 @@
 }
 
 
-void executeSha256(MAX8614X &m, uint8_t *challenge, unsigned int challengeLen)
+void executeSha256(MAX8614X &m, uint8_t *challenge, unsigned int challengeLen, bool romID)
 {
     int i, j, k;
     uint8_t macData[256];
@@ -205,7 +205,22 @@
     // ROM ID replaces 64 of the 192 bits of constant data used in the hash operation. 16 bits out of the 160-bit secret and 16
     // bits of ROM ID are programmable–8 bits each in metal and 8 bits each in OTP bits
     //● Write command, with ROM ID (0x35) or without ROM ID (0x36), to SHA_CMD register
-    m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
+   if (romID) {
+        printf("ROMID \r\n");
+        m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG, MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
+        m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG, MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
+        wait(1);
+}
+    else
+{
+         printf("no ROMID \r\n");
+       m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);
+       m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);
+        wait(1);
+}
+
+
+//    m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
 //    m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);