Example host software for the Maxim Integrated MAX31723/MAX31722 Device Temperature Sensor. Hosted on the MAX32630FTHR. The MAX31723 may be used in thermostats, thermometers, and hardware temperature supervisors.
Dependencies: MAX31723_Digital_Temperature_Sensor max32630fthr USBDevice
Revision 7:bf8c91e28a3b, committed 2019-01-23
- Comitter:
- phonemacro
- Date:
- Wed Jan 23 00:48:54 2019 +0000
- Parent:
- 6:73a513476dcf
- Child:
- 8:5bbefd9bce9f
- Commit message:
- Modify the example program to use the processed data (DAC sink/source specified in picoAmps) methods.
Changed in this revision
--- a/DS4424_Hello_Current_DAC_on_MAX32630FTHR.lib Sun Oct 07 22:13:30 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://os.mbed.com/teams/MaximIntegrated/code/DS4424_Hello_Current_DAC_on_MAX32630FTHR/#dd7271a8cf09
--- a/DS4424_SINK_SOURCE_CURRENT_DAC_INPUT_OUT.lib Sun Oct 07 22:13:30 2018 +0000 +++ b/DS4424_SINK_SOURCE_CURRENT_DAC_INPUT_OUT.lib Wed Jan 23 00:48:54 2019 +0000 @@ -1,1 +1,1 @@ -http://os.mbed.com/teams/MaximIntegrated/code/DS4424_SINK_SOURCE_CURRENT_DAC_INPUT_OUT/#3824afaf0d61 +https://os.mbed.com/teams/MaximIntegrated/code/DS4424_SINK_SOURCE_CURRENT_DAC_INPUT_OUT/#fc75fced724f
--- a/main.cpp Sun Oct 07 22:13:30 2018 +0000
+++ b/main.cpp Wed Jan 23 00:48:54 2019 +0000
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
+ * Copyright (C) 2018-2019 Maxim Integrated Products, Inc., All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -50,7 +50,7 @@
/** (note the calls to Thread::wait below for delays) */
/**
* @brief Sample main program for Maxim Integrated DS4424, DS4422
- * @version 1.0000.3
+ * @version 1.0000.301
*
* @details Sample main program for DS4424, DS4422
* The prints are sent to the terminal window (9600, 8n1).
@@ -65,31 +65,63 @@
*/
int main()
{
- int32_t value[4]={0,0,0,0};
+ int32_t in_pAmps[4] = {-193675000, -1525000, 6100000, -16012500};
+ uint8_t in_raw[4];
+ int32_t value[4] = {0, 0, 0, 0};
int ret, i;
+ int32_t out_pAmps[4] = {0, 0, 0, 0};
+ uint32_t rfs_board[4] = {40000, 80000, 100000, 160000};
DigitalOut rLED(LED1, LED_OFF);
DigitalOut gLED(LED2, LED_OFF);
DigitalOut bLED(LED3, LED_OFF);
-
bLED = LED_ON;
gLED = LED_ON;
i2cBus.frequency(400000);
+ printf("\r\n");
+
+ /* write to each channel using picoAmps */
+ for (i = 0; i < 4; i++) {
+ ret = ds4424_dac.convert_picoAmps_to_hw_raw(&in_raw[i], in_pAmps[i], rfs_board[i]);
+ printf("Set picoAmps Out %d picoAmps, hw raw = %d, rfs = %d Ohms\r\n", in_pAmps[i], in_raw[i], rfs_board[i]);
+ }
+ printf("\r\n");
+ ret = ds4424_dac.write_hw_raw(in_raw[0], DS4424::REG_OUT0);
+ ret = ds4424_dac.write_hw_raw(in_raw[1], DS4424::REG_OUT1);
+ ret = ds4424_dac.write_hw_raw(in_raw[2], DS4424::REG_OUT2);
+ ret = ds4424_dac.write_hw_raw(in_raw[3], DS4424::REG_OUT3);
- // read each channel
- ret = ds4424_dac.write_raw(127, DS4424::REG_OUT0);
- ret = ds4424_dac.write_raw(2, DS4424::REG_OUT1);
- ret = ds4424_dac.write_raw(-127, DS4424::REG_OUT2);
- ret = ds4424_dac.write_raw(-2, DS4424::REG_OUT3);
+ /* write to each channel using two's complement */
+ /*
+ ret = ds4424_dac.write_raw(-127, DS4424::REG_OUT0);
+ ret = ds4424_dac.write_raw(-2, DS4424::REG_OUT1);
+ ret = ds4424_dac.write_raw(10, DS4424::REG_OUT2);
+ ret = ds4424_dac.write_raw(-42, DS4424::REG_OUT3);
+ */
+ ret = ds4424_dac.read_hw_raw(in_raw[0], DS4424::REG_OUT0);
+ ret = ds4424_dac.read_hw_raw(in_raw[1], DS4424::REG_OUT1);
+ ret = ds4424_dac.read_hw_raw(in_raw[2], DS4424::REG_OUT2);
+ ret = ds4424_dac.read_hw_raw(in_raw[3], DS4424::REG_OUT3);
+ for (i = 0; i < 4; i++) {
+ printf("Read hw raw Out %d = %d\r\n", i, in_raw[i]);
+ }
+ printf("\r\n");
ret = ds4424_dac.read_raw(value[0], DS4424::REG_OUT0);
ret = ds4424_dac.read_raw(value[1], DS4424::REG_OUT1);
ret = ds4424_dac.read_raw(value[2], DS4424::REG_OUT2);
ret = ds4424_dac.read_raw(value[3], DS4424::REG_OUT3);
for (i = 0; i < 4; i++) {
- printf("Out%d = %d\r\n", i, value[i]);
+ printf("Read raw two's complement Out %d = %d\r\n", i, value[i]);
+ }
+ printf("\r\n");
+
+ /* Convert two's complement values to picoAmps */
+ for (i = 0; i < 4; i++) {
+ ret = ds4424_dac.convert_raw_to_picoAmps(&out_pAmps[i], value[i], rfs_board[i]);
+ printf("Read Out %d = %d picoAmps, rfs = %d Ohms\r\n", i, out_pAmps[i], rfs_board[i]);
}
printf("\r\n");
@@ -98,6 +130,4 @@
gLED = !gLED;
wait(1.0);
}
-
}
-