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.
Diff: main.cpp
- Revision:
- 1:eb3bd21fba0b
- Parent:
- 0:599009dbb3e5
--- a/main.cpp Tue Mar 21 07:29:14 2017 +0000 +++ b/main.cpp Wed Mar 22 04:54:35 2017 +0000 @@ -3,30 +3,60 @@ DigitalOut myled(LED1); -int SAddr = 0; +int SAddr = DEFAULT_SADDR; float temp = 0; +char c; +//uint16_t pwmreg; int main() { + if (MLX90614_EEPROM_Read(SAddr,EEPROM_T0MAX) != TOBJ_P60) + MLX90614_EEPROM_Write(SAddr, EEPROM_T0MAX, TOBJ_P60); + if (MLX90614_EEPROM_Read(SAddr,EEPROM_T0MIN) != TOBJ_PM0) + MLX90614_EEPROM_Write(SAddr, EEPROM_T0MIN, TOBJ_PM0); + if (MLX90614_EEPROM_Read(SAddr,EEPROM_PWMCTRL) != DEFAULT_PWMCTRL) + MLX90614_EEPROM_Write(SAddr, EEPROM_PWMCTRL, DEFAULT_PWMCTRL); + if (MLX90614_EEPROM_Read(SAddr,EEPROM_TARANGE) != (uint16_t)(TAMB_P50 << 8 | TAMB_PM0)) + MLX90614_EEPROM_Write(SAddr, EEPROM_TARANGE, (uint16_t)(TAMB_P50 << 8 | TAMB_PM0)); + if (MLX90614_EEPROM_Read(SAddr,EEPROM_CONFIGREG1) != DEFAULT_CONFIGREG1) + MLX90614_EEPROM_Write(SAddr, EEPROM_CONFIGREG1, DEFAULT_CONFIGREG1); + //wait(5); + printf(" EEPROM_T0MAX = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_T0MAX)); + printf(" EEPROM_T0MIN = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_T0MIN)); + printf(" EEPROM_PWMCTRL = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_PWMCTRL)); + printf(" EEPROM_TARANGE = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_TARANGE)); + printf(" EEPROM_ECCOEF = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_ECCOEF)); + printf(" EEPROM_CONFIGREG1 = 0x%X\r\n", MLX90614_EEPROM_Read(SAddr,EEPROM_CONFIGREG1)); SAddr = MLX90614_SA_Read(); - printf(" MLX90614 Slave Address Read = 0x%X. \n\r", SAddr); - if (SAddr == 0xff) + printf(" EEPROM_SMBUSADDR = 0x%X. \n\r", SAddr); + if (SAddr == ERROR_ADDR_CRC8) { SAddr = MLX90614_SA_Scan(); printf(" MLX90614 Slave Address Find = 0x%X. \n\r", SAddr); } - - wait(0.1); - do temp = getTempC_Ambi(SAddr); while(temp == 0xffffffff); + do temp = getTempC_Ambi(SAddr); while(temp == ERROR_TEMP_CRC8); printf(" Ambient temperature = %.2f\r\n", temp); - do temp = getTempC_Obj1(SAddr); while(temp == 0xffffffff); + do temp = getTempC_Obj1(SAddr); while(temp == ERROR_TEMP_CRC8); printf(" Object 1 temperature = %.2f\r\n", temp); - do temp = getTempC_Obj2(SAddr); while(temp == 0xffffffff); + do temp = getTempC_Obj2(SAddr); while(temp == ERROR_TEMP_CRC8); printf(" Object 2 temperature = %.2f\r\n", temp); + + + fflush(stdin); printf(" Press any Key......"); + scanf("%c", &c); while(1) { + printf("\033[2J\033[1;1H"); fflush(stdout); + do temp = getTempC_Ambi(SAddr); while(temp == ERROR_TEMP_CRC8); + printf(" Ambient temperature = %.2f\r\n", temp); + do temp = getTempC_Obj1(SAddr); while(temp == ERROR_TEMP_CRC8); + printf(" Object 1 temperature = %.2f\r\n", temp); + do temp = getTempC_Obj2(SAddr); while(temp == ERROR_TEMP_CRC8); + printf(" Object 2 temperature = %.2f\r\n", temp); + myled = 1; // LED is ON - wait(1.0); // 1000 ms + wait(0.5); // 1000 ms + myled = 0; // LED is OFF - wait(1.0); // 1 sec + wait(0.5); // 1 sec } }