Example program for EVAL-TempSense-ARDZ boards.

Dependencies:   platform_drivers

Revision:
5:f92081816fb7
Parent:
1:af9efbb9e9c5
--- a/main.cpp	Mon Nov 04 17:01:16 2019 +0000
+++ b/main.cpp	Wed Nov 27 11:35:54 2019 +0000
@@ -150,12 +150,12 @@
 	connected = adt7420_init(&device, init_params);
 
     if (connected != SUCCESS) {
-        pc.printf("\n\n  Connection to device failed :(\n");
-        pc.printf("  ...Restarting application...  \n\n");
+        pc.printf(EOL EOL "  Connection to device failed :(" EOL);
+        pc.printf("  ...Restarting application...  " EOL);
         wait(WAIT_MENU_TIME);
         microcontroller_reset();
     } else {
-        pc.printf("\n\n  Connection to device succeeded!\n");
+        pc.printf(EOL EOL "  Connection to device succeeded!" EOL);
     }
     
     while (connected == SUCCESS) {
@@ -164,7 +164,7 @@
 		print_prompt();
 
 		if (get_menu_select(&menu_select) == FAILURE)
-            pc.printf("\n*****   Returning to main menu   *****\n");
+            pc.printf(EOL "*****   Returning to main menu   *****" EOL);
 		else {
 			switch (menu_select) {
 			case 1:
@@ -200,7 +200,7 @@
                 microcontroller_reset();
                 break;
 			default:
-				pc.printf("Invalid option");
+				pc.printf("Invalid option" EOL);
 				break;
 			}
         }
@@ -214,15 +214,15 @@
  *******************************************************************************/
 void print_title()
 {
-	pc.printf("*****************************************************************\n");
-	pc.printf("* EVAL-TempeSense-ARDZ Demonstration Program -- (mbed)          *\n");
-	pc.printf("*                                                               *\n");
-	pc.printf("* This program demonstrates communication with the ADT7xx       *\n");
-	pc.printf("* High-Accuracy digital temperature sensor family			   *\n");
-	pc.printf("* It will also work with both SPI & I2C versions                *\n");
-	pc.printf("*                                                               *\n");
-	pc.printf("* Set the baud rate to 115200 select the newline terminator.    *\n");
-	pc.printf("*****************************************************************\n");
+	pc.printf("*****************************************************************" EOL);
+	pc.printf("* EVAL-TempeSense-ARDZ Demonstration Program -- (mbed)          *" EOL);
+	pc.printf("*                                                               *" EOL);
+	pc.printf("* This program demonstrates communication with the ADT7xx       *" EOL);
+	pc.printf("* High-Accuracy digital temperature sensor family               *" EOL);
+	pc.printf("* It will also work with both SPI & I2C versions                *" EOL);
+	pc.printf("*                                                               *" EOL);
+	pc.printf("* Set the baud rate to 115200 select the newline terminator.    *" EOL);
+	pc.printf("*****************************************************************" EOL);
 }
 
 /***************************************************************************//**
@@ -230,18 +230,18 @@
  *******************************************************************************/
 void print_prompt()
 {
-	pc.printf("\n\nCommand Summary:\n\n");
-	pc.printf("  1  -Read temperature\n");
-	pc.printf("  2  -Set resolution\n");
-	pc.printf("  3  -Set operation mode\n");
-	pc.printf("  4  -Poll temperature\n");
-	pc.printf("  5  -Read a register\n");
-	pc.printf("  6  -Reset the interface\n");
-	pc.printf("  7  -Write to a setpoint register\n");
-    pc.printf("  8  -Set Fault Queue configuration\n");
-    pc.printf("  9  -Set CT/INT polarity and mode\n");
-    pc.printf("  10 -Full System Reset\n");
-	pc.printf("\n");
+	pc.printf(EOL EOL "Command Summary:" EOL);
+	pc.printf("  1  -Read temperature" EOL);
+	pc.printf("  2  -Set resolution" EOL);
+	pc.printf("  3  -Set operation mode" EOL);
+	pc.printf("  4  -Poll temperature" EOL);
+	pc.printf("  5  -Read a register" EOL);
+	pc.printf("  6  -Reset the interface" EOL);
+	pc.printf("  7  -Write to a setpoint register" EOL);
+    pc.printf("  8  -Set Fault Queue configuration" EOL);
+    pc.printf("  9  -Set CT/INT polarity and mode" EOL);
+    pc.printf("  10 -Full System Reset" EOL);
+	pc.printf(EOL);
 }
 
 static int get_menu_select(uint8_t *menu_select) 
@@ -265,9 +265,9 @@
  *******************************************************************************/
 uint8_t select_device()
 {
-    pc.printf("Please select interface by choosing a device:\n");
-	pc.printf("    1- ADT7320 (SPI)\n");
-	pc.printf("    2- ADT7420 (I2C)\n");
+    pc.printf("Please select interface by choosing a device:" EOL);
+	pc.printf("    1- ADT7320 (SPI)" EOL);
+	pc.printf("    2- ADT7420 (I2C)" EOL);
 	pc.printf("  Select an option: ");
     
     int invalid_check, new_interface = 0;
@@ -275,9 +275,9 @@
 	
 	//Prompts for user input while correct interface is not selected
     while (input_check(new_interface, 1, 2, invalid_check) == FAILURE) {
-        pc.printf("Please select interface by choosing a device:\n");
-	    pc.printf("    1- ADT7320 (SPI)\n");
-	    pc.printf("    2- ADT7420 (I2C)\n");
+        pc.printf("Please select interface by choosing a device:" EOL);
+	    pc.printf("    1- ADT7320 (SPI)" EOL);
+	    pc.printf("    2- ADT7420 (I2C)" EOL);
 	    pc.printf("  Select an option: ");
         invalid_check = pc.scanf("%d", &new_interface);
 	}
@@ -285,18 +285,18 @@
 
     switch (new_interface) {
 	case 1:
-		pc.printf("  ADT7320 sensor selected!\n\n");
+		pc.printf("  ADT7320 sensor selected!" EOL EOL);
 		init_params.act_device = ID_ADT7320;
 		break;
 	case 2:
-		pc.printf(" ADT7420 sensor selected!\n\n");
+		pc.printf(" ADT7420 sensor selected!" EOL EOL);
 		init_params.act_device = ID_ADT7420;
 		break;
 	}
 
-    pc.printf("Available devices:\n");
-	pc.printf("    1- Internal (Main PCB)\n");
-	pc.printf("    2- Remote   (External PCB)\n");
+    pc.printf("Available devices:" EOL);
+	pc.printf("    1- Internal (Main PCB)" EOL);
+	pc.printf("    2- Remote   (External PCB)" EOL);
 	pc.printf("  Select an option: ");
     
     int new_dev = 0;
@@ -304,9 +304,9 @@
 	
 	//Prompts for user input while correct device is not selected
     while (input_check(new_dev, 1, 2, invalid_check) == FAILURE) {
-        pc.printf("Device select:\n");
-	    pc.printf("    1- Internal (Main PCB)\n");
-	    pc.printf("    2- Remote   (External PCB)\n");
+        pc.printf("Device select:" EOL);
+	    pc.printf("    1- Internal (Main PCB)" EOL);
+	    pc.printf("    2- Remote   (External PCB)" EOL);
 	    pc.printf("  Select an option: ");
         invalid_check = pc.scanf("%d", &new_dev);
 	}
@@ -353,9 +353,9 @@
  *******************************************************************************/
 static uint8_t set_resolution()
 {
-	pc.printf("  Available resolutions:\n");
-	pc.printf("    1- 13-bit\n");
-	pc.printf("    2- 16-bit\n");
+	pc.printf("  Available resolutions:" EOL);
+	pc.printf("    1- 13-bit" EOL);
+	pc.printf("    2- 16-bit" EOL);
 	pc.printf("  Select an option: ");
 
 	int new_res, invalid_check = 0;
@@ -364,7 +364,7 @@
     if (input_check(new_res, 1, 2, invalid_check) == FAILURE) {
 		return FAILURE;
 	} else {
-        pc.printf("%d\n", new_res);
+        pc.printf("%d" EOL, new_res);
         new_res = (new_res == 1) ? 0 : 1;
         adt7420_set_resolution(device, new_res);
         pc.printf("Set resolution to %d-bit", (13 + 3 * new_res));
@@ -383,11 +383,11 @@
  *******************************************************************************/
 static uint8_t set_op_mode()
 {
-	pc.printf("  Available operation modes:\n");
-	pc.printf("    1- Continuous conversion mode (default)\n");
-	pc.printf("    2- One-shot mode\n");
-	pc.printf("    3- 1 SPS mode\n");
-	pc.printf("    4- Shutdown\n");
+	pc.printf("  Available operation modes:" EOL);
+	pc.printf("    1- Continuous conversion mode (default)" EOL);
+	pc.printf("    2- One-shot mode" EOL);
+	pc.printf("    3- 1 SPS mode" EOL);
+	pc.printf("    4- Shutdown" EOL);
 	pc.printf("  Select a mode: ");
 
 	int new_mode, invalid_check = 0;
@@ -395,7 +395,7 @@
     if (input_check(new_mode, 1, 4, invalid_check) == FAILURE) {
 		return FAILURE;
 	} else { 
-	pc.printf("%d\n", new_mode);
+	pc.printf("%d" EOL, new_mode);
 	switch (new_mode) {
         case 1:
             adt7420_set_operation_mode(device, ADT7420_OP_MODE_CONT_CONV);
@@ -403,8 +403,8 @@
         case 2:
         /*When One shot mode is set completes one conversion and immediately goes to shutdown mode*/
             adt7420_set_operation_mode(device, ADT7420_OP_MODE_ONE_SHOT);
-            pc.printf("\n       One Shot mode enabled, device will enter shutdown mode once a conversion is complete.\n");
-            pc.printf("         See page 10 in datasheet for details.\n");
+            pc.printf( EOL"       One Shot mode enabled, device will enter shutdown mode once a conversion is complete." EOL);
+            pc.printf("         See page 10 in datasheet for details." EOL);
             break;
         case 3:
             adt7420_set_operation_mode(device, ADT7420_OP_MODE_1_SPS);
@@ -413,7 +413,7 @@
             adt7420_set_operation_mode(device, ADT7420_OP_MODE_SHUTDOWN);
             break;
         default:
-            pc.printf("Invalid option\n");
+            pc.printf("Invalid option" EOL);
             break;
 	    }
 	return SUCCESS;
@@ -438,7 +438,7 @@
     if (input_check(num_samples, 1, 2000000, invalid_check) == FAILURE) {
 		return FAILURE;
 	}
-    pc.printf("%d\n", num_samples);
+    pc.printf("%d" EOL, num_samples);
 
 	pc.printf("  Enter a desired frequency in samples/sec (max 10): ");
 	int sample_freq = 1;
@@ -451,8 +451,8 @@
 
 	uint32_t delay_sec = 1000000 / sample_freq;
        
-	pc.printf("  Gathering %d seconds of samples\n", num_samples/sample_freq);
-    pc.printf("Press enter to continue and then press again to quit\n");
+	pc.printf("  Gathering %d seconds of samples" EOL, num_samples/sample_freq);
+    pc.printf("Press enter to continue and then press again to quit" EOL);
 	getchar();
 
     for (int i = 0; i < num_samples; i++) {
@@ -461,7 +461,7 @@
         } else {
             pc.printf("  Sample:%d: Temperature:", i + 1);
             float temp = adt7420_get_temperature(device);
-            pc.printf("%.4f\n", temp);
+            pc.printf("%.4f" EOL, temp);
             wait_us(delay_sec);
         } 
     }
@@ -478,15 +478,15 @@
 
 static uint8_t readback_reg()
 {
-	pc.printf("  Available registers:\n");
-	pc.printf("    1- Status\n");
-	pc.printf("    2- Configuration\n");
-	pc.printf("    3- Temperature\n");
-	pc.printf("    4- ID\n");
-	pc.printf("    5- Critical Temperature setpoint\n");
-	pc.printf("    6- Hysteresis Temperature setpoint\n");
-	pc.printf("    7- Temperature high setpoint\n");
-	pc.printf("    8- Temperature low setpoint\n");
+	pc.printf("  Available registers:" EOL);
+	pc.printf("    1- Status" EOL);
+	pc.printf("    2- Configuration" EOL);
+	pc.printf("    3- Temperature" EOL);
+	pc.printf("    4- ID" EOL);
+	pc.printf("    5- Critical Temperature setpoint" EOL);
+	pc.printf("    6- Hysteresis Temperature setpoint" EOL);
+	pc.printf("    7- Temperature high setpoint" EOL);
+	pc.printf("    8- Temperature low setpoint" EOL);
 	pc.printf("  Select a mode: ");
 
 	uint16_t read_value = 0;
@@ -495,7 +495,7 @@
     if (input_check(new_mode, 1, 8, invalid_check) == FAILURE) {
 		return FAILURE;
 	}
-	pc.printf("%d\n", new_mode);
+	pc.printf("%d" EOL, new_mode);
 
 	switch (new_mode) {
 	case 1:
@@ -525,7 +525,7 @@
 	default:
 		break;
 	}
-	pc.printf("Read value: 0x%x\n", read_value);
+	pc.printf("Read value: 0x%x" EOL, read_value);
 
 	return SUCCESS;
 }
@@ -539,7 +539,7 @@
  *******************************************************************************/
 static uint8_t reset_interface()
 {
-	pc.printf("  Resetting interface...\n");
+	pc.printf("  Resetting interface..." EOL);
 	adt7420_reset_interface(device);
     wait_us(RESET_DELAY);
     return SUCCESS;
@@ -555,11 +555,11 @@
  *******************************************************************************/
 static uint8_t write_to_setpoint_reg()
 {
-	pc.printf("  Available registers:\n");
-	pc.printf("    1- Critical setpoint\n");
-	pc.printf("    2- Hystersis setpoint\n");
-	pc.printf("    3- Temperature high setpoint\n");
-	pc.printf("    4- Temperature low setpoint\n");
+	pc.printf("  Available registers:" EOL);
+	pc.printf("    1- Critical setpoint" EOL);
+	pc.printf("    2- Hystersis setpoint" EOL);
+	pc.printf("    3- Temperature high setpoint" EOL);
+	pc.printf("    4- Temperature low setpoint" EOL);
 	pc.printf("  Select a mode: ");
 
 	int new_mode, invalid_check = 0;
@@ -567,7 +567,7 @@
     if (input_check(new_mode, 1, 4, invalid_check) == FAILURE) {
 		return FAILURE;
 	}
-	pc.printf("%d\n", new_mode);
+	pc.printf("%d" EOL, new_mode);
     
     float temp_c;
 
@@ -591,36 +591,36 @@
 
     if(new_mode == 2) 
         write_value = round(temp_c);
-     else 
+    else 
         write_value = round(128 * temp_c);
 
 	switch (new_mode) {
 	case 1:
 		if (adt7420_wr_setpoint_reg(device, REG_T_CRIT, write_value) == SUCCESS)
-			pc.printf("\n0x%x successfuly written\n", write_value);
+			pc.printf(EOL "0x%x successfuly written" EOL, write_value);
 		else
-			pc.printf("\n0x%x NOT successfuly written\n", write_value);
+			pc.printf(EOL "0x%x NOT successfuly written" EOL, write_value);
 		break;
 	case 2:
 		if (adt7420_wr_setpoint_reg(device, REG_HIST, write_value) == SUCCESS)
-			pc.printf("\n0x%x successfuly written (bits 7:4 are fixed at 0)\n", write_value);
+			pc.printf(EOL "0x%x successfuly written (bits 7:4 are fixed at 0)" EOL, write_value);
 		else
-			pc.printf("\n0x%x NOT successfuly written\n", write_value);
+			pc.printf(EOL "0x%x NOT successfuly written" EOL, write_value);
 		break;
 	case 3:
 		if (adt7420_wr_setpoint_reg(device, REG_T_HIGH, write_value) == SUCCESS)
-			pc.printf("\n0x%x successfuly written\n", write_value);
+			pc.printf(EOL "0x%x successfuly written" EOL, write_value);
 		else
-			pc.printf("\n0x%x NOT successfuly written\n", write_value);
+			pc.printf(EOL "0x%x NOT successfuly written" EOL, write_value);
 		break;
 	case 4:
 		if (adt7420_wr_setpoint_reg(device, REG_T_LOW, write_value) == SUCCESS)
-			pc.printf("\n0x%x successfuly written\n", write_value);
+			pc.printf(EOL "0x%x successfuly written" EOL, write_value);
 		else
-			pc.printf("\n0x%x NOT successfuly written\n", write_value);
+			pc.printf(EOL "0x%x NOT successfuly written" EOL, write_value);
 		break;
 	default:
-		pc.printf("Invalid selection - try again.\n");
+		pc.printf("Invalid selection - try again." EOL);
 		wait(2);
 		break;
 	}
@@ -637,11 +637,11 @@
  *******************************************************************************/
 static uint8_t set_fault_queue()
 {
-    pc.printf("  Available fault queue options:\n");
-	pc.printf("    1- 1 fault (default) \n");
-	pc.printf("    2- 2 faults\n");
-	pc.printf("    3- 3 faults\n");
-	pc.printf("    4- 4 faults\n");
+    pc.printf("  Available fault queue options:" EOL);
+	pc.printf("    1- 1 fault (default) " EOL);
+	pc.printf("    2- 2 faults" EOL);
+	pc.printf("    3- 3 faults" EOL);
+	pc.printf("    4- 4 faults" EOL);
 	pc.printf("  Select a mode: ");
 
 	int new_fault, invalid_check = 0;
@@ -649,7 +649,7 @@
     if (input_check(new_fault, 1, 4, invalid_check) == FAILURE) {
 		return FAILURE;
 	} else {
-	pc.printf("%d\n", new_fault);
+	pc.printf("%d" EOL, new_fault);
 
  	switch (new_fault)
 	     {
@@ -666,7 +666,7 @@
             adt7420_set_fault_queue(device, ADT7420_FAULT_QUEUE_4_FAULTS);
             break;
         default:
-            pc.printf("Invalid option\n");
+            pc.printf("Invalid option" EOL);
             break;
 	    }   return SUCCESS;
     } 
@@ -684,34 +684,34 @@
     int new_polarity = 0;
     int new_mode, invalid_check = 0;
 
-    pc.printf("  Choose INT/CT mode:\n");
-    pc.printf("    1- Interrupt (default) \n");
-    pc.printf("    2- Comparator \n");
+    pc.printf("  Choose INT/CT mode:" EOL);
+    pc.printf("    1- Interrupt (default) " EOL);
+    pc.printf("    2- Comparator " EOL);
     pc.printf("  Select a mode: ");
     invalid_check = pc.scanf("%d", &new_mode);
     if (input_check(new_mode, 1, 2, invalid_check) == FAILURE) {
         return FAILURE;
     } else {
-        pc.printf("%d\n", new_mode);
+        pc.printf("%d" EOL, new_mode);
         new_mode = (new_mode == 1) ? 0 : 1;
         adt7420_set_ct_int_mode(device, new_mode);    
     }
 
-    pc.printf("\n Set output polarity for Critical and Over/Under Temperature pin:\n");
-    pc.printf("   (Feature available only for internal sensors).\n");
+    pc.printf(EOL " Set output polarity for Critical and Over/Under Temperature pin:" EOL);
+    pc.printf("   (Feature available only for internal sensors)." EOL);
 
     if(init_params.mbed_i2c_init.slave_address == INTERNAL_I2C ||
         init_params.mbed_spi_init.chip_select == INTERNAL_SPI) {
 
-        pc.printf("    1- Active Low (default) \n");
-        pc.printf("    2- Active High\n");
+        pc.printf("    1- Active Low (default) " EOL);
+        pc.printf("    2- Active High" EOL);
         pc.printf("  Select a mode: ");
         
         invalid_check = pc.scanf("%d", &new_polarity);
         if (input_check(new_polarity, 1, 2, invalid_check) == FAILURE) {
             return FAILURE;
         } else {
-            pc.printf("%d\n", new_polarity);
+            pc.printf("%d" EOL, new_polarity);
             new_polarity = (new_polarity == 1) ? 0 : 1;
             adt7420_set_ct_int_polarity(device, new_polarity);
         }
@@ -740,16 +740,16 @@
  *******************************************************************************/
 static void print_active_device(int external_internal_selection)
 {
-    const char* devices[7] = { "\n\n   Active Device: ADT7410 I2C" ,
-                        "\n\n   Active Device: ADT7420 I2C",
-                        "\n\n   Active Device: ADT7422 I2C",
-                        "\n\n   Active Device: ADT7310 SPI",
-                        "\n\n   Active Device: ADT7311 SPI",
-                        "\n\n   Active Device: ADT7312 SPI",
-                        "\n\n   Active Device: ADT7320 SPI"};
+    const char* devices[7] = {EOL EOL "   Active Device: ADT7410 I2C" ,
+                        EOL EOL "   Active Device: ADT7420 I2C",
+                        EOL EOL "   Active Device: ADT7422 I2C",
+                        EOL EOL "   Active Device: ADT7310 SPI",
+                        EOL EOL "   Active Device: ADT7311 SPI",
+                        EOL EOL "   Active Device: ADT7312 SPI",
+                        EOL EOL "   Active Device: ADT7320 SPI"};
 
-    const char* external_internal_print[] = {" - Internal Chip \n",
-                                             " - External Chip \n" };
+    const char* external_internal_print[] = {" - Internal Chip " EOL,
+                                             " - External Chip " EOL };
 
     pc.printf("%s %s", devices[init_params.act_device], external_internal_print[external_internal_selection - 1]);
 }
@@ -770,9 +770,9 @@
                         int invalid_check)
  {
         if(invalid_check == 0 || input_val < lowest_accepted_val || input_val > highest_accepted_val) {
-            pc.printf("\n\n*****   Invalid entry: No changes made *****\n");
+            pc.printf(EOL EOL "*****   Invalid entry: No changes made *****" EOL );
             wait(WAIT_MENU_TIME);
             return FAILURE;
         } 
         return SUCCESS;
-}
+}
\ No newline at end of file