epsilonrt / ad7124

AD7124 ADC Library
Other
21 stars 16 forks source link

Use BitOrder instead of uint8_t on SAMD chips #14

Open wrong-kendall opened 3 years ago

wrong-kendall commented 3 years ago

The library doesn't appear to compile using platformIO and a feather express m4 because the SPI library uses BitOrder instead of uint8_t.

evermore99 commented 3 years ago

The library doesn't appear to compile using platformIO and a feather express m4 because the SPI library does uses BitOrder instead of uint8_t.

I tried running the full program from the evaluation board cn0391. This works on an arduino uno. however this does not work on a teensy4.1 with arduino 1.8.7. I can give you the source code... I also use on the same bus a featherwing 3.5inch. I did recordings with my scope and somehow the MISO isn’t sending back

wrong-kendall commented 3 years ago

Huh. So just to be clear, with this change patched in, the sketches work for the arduino uno (unaffected by my change because I think it is an ATmega328P) but doesn't work with teensy (should be affected if they define SAMD_SERIES, which I think they do)? Without this change, does compilation for the teensy fail? I don't have a teensy but I'll try again with my m4 express and verify that I didn't overlook something.

BastiaanMDC commented 3 years ago

I don’t know for sure if that is written for samd series chips. Is that hard?

Outlook voor iOShttps://aka.ms/o0ukef downloaden


Van: wrong-kendall notifications@github.com Verzonden: donderdag, januari 14, 2021 10:40 PM Aan: epsilonrt/ad7124 CC: Subscribed Onderwerp: [ext] Re: [epsilonrt/ad7124] Use BitOrder instead of unit8_t on SAMD chips (#14)

Huh. So just to be clear, with this change patched in, the sketches work for the arduino uno (unaffected by my change because I think it is an ATmega328P) but doesn't work with teensy (should be affected if they define SAMD_SERIES, which I think they do)? Without this change, does compilation for the teensy fail? I don't have a teensy but I'll try again with my m4 express and verify that I didn't overlook something.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/epsilonrt/ad7124/pull/14#issuecomment-760493468, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH6OTUVENMNKRVK5Y7T5ZODSZ5QFJANCNFSM4WBZ5CSA.

wrong-kendall commented 3 years ago

I just saw https://github.com/epsilonrt/ad7124/issues/12, which is a report of the same thing. In that issue, BastiaanMDC mentions that he has it working on a teensy3.6, which should be a SAMD. I wonder if teensy has its own SPI implementation. I know that the m4 referenced the one used by the Zero. If teensy worked before and doesn't with this change, then SAMD_SERIES is probably incorrect. If someone can confirm that I'll start trying to track that down.

@BastiaanMDC, replying to your last question, I wouldn't have thought that the SAMD chips would not be fundamentally different (aside from possibly using different SPI libraries).

wrong-kendall commented 3 years ago

Okay, I just verified that my proposed change using an adafruit m4 express (SAMD51) and a simple feather wing that I made for the AD7124 does work. Here is the simple program I used to test. The feather wing is just 4 voltage dividers (each 3V/2) connected to AIN{0,2,4,6} with the other AINs connected to GND, the AD7124 and the necessary capacitors.

After doing a verbose build with PlatformIO, it's pulling in framework-arduino-samd-adafruit 1.6.4, which includes this SPI.h. Tomorrow, I'll try with the Arduino IDE and see if my change still works with the m4 there. And then I'll see what I can determine about the teensy, without actually having one...

That being said, I'm still very perplexed by https://github.com/epsilonrt/ad7124/pull/14#issuecomment-759971719 because I would not have expected it to compile and then silently fail.

BastiaanMDC commented 3 years ago

Okay, I just verified that my proposed change using an adafruit m4 express (SAMD51) and a simple feather wing that I made for the AD7124 does work. Here is the simple program I used to test. The feather wing is just 4 voltage dividers (each 3V/2) connected to AIN{0,2,4,6} with the other AINs connected to GND, the AD7124 and the necessary capacitors.

After doing a verbose build with PlatformIO, it's pulling in framework-arduino-samd-adafruit 1.6.4, which includes this SPI.h. Tomorrow, I'll try with the Arduino IDE and see if my change still works with the m4 there. And then I'll see what I can determine about the teensy, without actually having one...

That being said, I'm still very perplexed by #14 (comment) because I would not have expected it to compile and then silently fail.

really thanks for looking into this.

its a wonderful chip.

wrong-kendall commented 3 years ago

I just confirmed that my changes with my test sketch in the Arduino IDE (1.8.13) running on the m4 express still works. Next up, I'll try to figure out if my change breaks the teensy.

@evermore99 were you testing with https://wiki.analog.com/resources/eval/user-guides/eval-adicup360/hardware/cn0391?doc=CN0391.pdf? I figured I should get a similar setup so we are comparing the same thing.

BastiaanMDC commented 3 years ago

Yeah I bought that, because it sounded as a nice add on for a prototype accurate temperature measurement. And I thought besides that the arduino environment it was 1:1 compatible. Beginners luck.

Can you show me an example to combine two SPI devices on the same bus? I know how to run them seperately.

😊 have a nice weekend

Thanks for looking into this.

Outlook voor iOShttps://aka.ms/o0ukef downloaden


Van: wrong-kendall notifications@github.com Verzonden: zaterdag, januari 16, 2021 1:57 AM Aan: epsilonrt/ad7124 CC: BastiaanMDC; Mention Onderwerp: [ext] Re: [epsilonrt/ad7124] Use BitOrder instead of uint8_t on SAMD chips (#14)

I just confirmed that my changes with my test sketch in the Arduino IDE (1.8.13) running on the m4 express still works. Next up, I'll try to figure out if my change breaks the teensy.

@evermore99https://github.com/evermore99 were you testing with https://wiki.analog.com/resources/eval/user-guides/eval-adicup360/hardware/cn0391?doc=CN0391.pdf? I figured I should get a similar setup so we are comparing the same thing.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/epsilonrt/ad7124/pull/14#issuecomment-761278341, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH6OTUUVIKHJ2Y7RFZ6RNPDS2DPWJANCNFSM4WBZ5CSA.

wrong-kendall commented 3 years ago

I've got a teensy and a cn0391 on the way so we'll be able to compare similar setups. I'll update this once they arrive and I've had a chance to experiment with them.

@BastiaanMDC multiple SPI devices on the same bus should be as trivial as using a different {Chip,Slave}Select pin on your microcontroller. When you initialize each on using a different pin, the SPI library should transparently handle the multiple devices for you by holding the SS/CS line low for the device you want to communicate with. Here is a tutorial

BastiaanMDC commented 3 years ago

Hi,

Thanks for the reply. Its been a long time back, so I had to recollect my notes and memory:

So I tried the following to interact with the same SPI bus which was using a featherwing 3.5 inch and the CN0391, both programs work separately, well kind of, but not together. I got strange results from the serial monitor readout from the cn0391, please see AD7124 Full Test Serial Monitor, Serialmonitor TC T and K 25_08_2020.

Or the screen wasn’t working or the thermocouple readout wasn’t working. If the cn0391 was working I got strange values I don’t understand. I tried manipulating the Polynom but that didn’t help.

For calibration I use a CL3512A from Omega so I could check the difference in reading compared to the reading on the monitor, they are off or out of bounds. See Recording 100 to 160degrees

I discovered the MISO is doing strange stuff, I made pictures of the MISO https://www.pjrc.com/better-spi-bus-design-in-3-steps/ reduce the speed of the SPI to see what is happening.

Due to the fact that the values shown by the CN0391 program don’t match, and that debugging or finding the error is mainly software based ( or lack of knowledge). I moved on and used another thermocouple device MAX31855 x4. Also I used a other SPI bus for the featherwing. Which works miraculously

However I am still am curious to work with the CN0391 program and the featherwing over the same bus.

I also had a chat with the Analog Devices, which had some reluctance in helping, or trying to say my error is on my side… which I don’t think seeing the values. https://ez.analog.com/circuits_from_the_lab/f/q-a/534269/cn0391-problem

Thanks for looking into this, and letting you guys in the dark, or taking time to check the AD7124 chip.

Von: wrong-kendall [mailto:notifications@github.com] Gesendet: Dienstag, 19. Januar 2021 06:18 An: epsilonrt/ad7124 Cc: Pierik, Bastiaan; Mention Betreff: [ext] Re: [epsilonrt/ad7124] Use BitOrder instead of uint8_t on SAMD chips (#14)

I've got a teensy and a cn0391 on the way so we'll be able to compare similar setups. I'll update this once they arrive and I've had a chance to experiment with them.

@BastiaanMDChttps://github.com/BastiaanMDC multiple SPI devices on the same bus should be as trivial as using a different {Chip,Slave}Select pin on your microcontroller. When you initialize each on using a different pin, the SPI library should transparently handle the multiple devices for you by holding the SS/CS line low for the device you want to communicate with. Herehttp://www.learningaboutelectronics.com/Articles/Multiple-SPI-devices-to-an-arduino-microcontroller.php is a tutorial

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/epsilonrt/ad7124/pull/14#issuecomment-762607367, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH6OTUU425CHYWZ32YT4FHTS2UI2FANCNFSM4WBZ5CSA.

TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13782752 R_rtd = 1028.85 ohmi cj_Temp = 7.39 cj_Voltage = 0.29 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.54 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature rangTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620999 R_rtd = 998.00 ohmi cj_Temp = -0.48 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620577 R_rtd = 997.92 ohmi cj_Temp = -0.50 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619905 R_rtd = 997.79 ohmi cj_Temp = -0.54 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620904 R_rtd = 997.98 ohmi cj_Temp = -0.49 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619695 R_rtd = 997.75 ohmi cj_Temp = -0.55 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13618805 R_rtd = 997.58 ohmi cj_Temp = -0.59 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619033 R_rtd = 997.62 ohmi cj_Temp = -0.58 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619585 R_rtd = 997.73 ohmi cj_Temp = -0.55 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620147 R_rtd = 997.84 ohmi cj_Temp = -0.52 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619918 R_rtd = 997.79 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619784 R_rtd = 997.77 ohmi cj_Temp = -0.54 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619946 R_rtd = 997.80 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620147 R_rtd = 997.84 ohmi cj_Temp = -0.52 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620115 R_rtd = 997.83 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620916 R_rtd = 997.98 ohmi cj_Temp = -0.49 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621736 R_rtd = 998.14 ohmi cj_Temp = -0.45 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13622260 R_rtd = 998.24 ohmi cj_Temp = -0.42 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13622261 R_rtd = 998.24 ohmi cj_Temp = -0.42 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621850 R_rtd = 998.16 ohmi cj_Temp = -0.44 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620823 R_rtd = 997.97 ohmi cj_Temp = -0.49 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620816 R_rtd = 997.96 ohmi cj_Temp = -0.49 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621094 R_rtd = 998.02 ohmi cj_Temp = -0.48 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621497 R_rtd = 998.09 ohmi cj_Temp = -0.46 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621655 R_rtd = 998.12 ohmi cj_Temp = -0.45 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621793 R_rtd = 998.15 ohmi cj_Temp = -0.44 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621690 R_rtd = 998.13 ohmi cj_Temp = -0.45 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13621301 R_rtd = 998.06 ohmi cj_Temp = -0.47 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620552 R_rtd = 997.91 ohmi cj_Temp = -0.50 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620199 R_rtd = 997.85 ohmi cj_Temp = -0.52 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13620060 R_rtd = 997.82 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619918 R_rtd = 997.79 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619954 R_rtd = 997.80 ohmi cj_Temp = -0.53 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619661 R_rtd = 997.74 ohmi cj_Temp = -0.55 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619395 R_rtd = 997.69 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619494 R_rtd = 997.71 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619391 R_rtd = 997.69 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619260 R_rtd = 997.67 ohmi cj_Temp = -0.57 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619360 R_rtd = 997.69 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619363 R_rtd = 997.69 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13618990 R_rtd = 997.62 ohmi cj_Temp = -0.58 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619050 R_rtd = 997.63 ohmi cj_Temp = -0.58 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619355 R_rtd = 997.69 ohmi cj_Temp = -0.56 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13619156 R_rtd = 997.65 ohmi cj_Temp = -0.57 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13618795 R_rtd = 997.58 ohmi cj_Temp = -0.59 cj_Voltage = -0.02 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.23 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13617510 R_rtd = 997.33 ohmi cj_Temp = -0.65 cj_Voltage = -0.03 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.22 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13616288 R_rtd = 997.10 ohmi cj_Temp = -0.71 cj_Voltage = -0.03 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.22 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P2channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P3channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].P4channel (Type 84) _ADC CJ code = 0 R_rtd = -1600.00 ohmi cj_Temp = -546.00 cj_Voltage = 2973876.75 mV _ADC TC code = 0 th_Voltage_read = -156.25 mV th_Voltage = 2973720.50 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supported temperature range for thermocouple Type 84is [-200400].TIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTTIMEOUTtestP1channel (Type 84) _ADC CJ code = 13616565 R_rtd = 997.15 ohmi cj_Temp = -0.70 cj_Voltage = -0.03 mV _ADC TC code = 16777215 th_Voltage_read = 156.25 mV th_Voltage = 156.22 mV WARNING: Linearized temperature value is not available -> exceeds upper limit!!! Supporte

wrong-kendall commented 3 years ago

Okay. Sorry for the delay. I've finally gotten a cn0391, and more importantly, time to debug. I hooked up the cn0391 arduino shield to an Uno compatible board and was able to use the example provided by analog devices. That test worked fine.

Now to test with this library, which example should I use with the cn0391? @evermore99 and @BastiaanMDC, you both mention testing the cn0391 with this library; are you using the Full Test or something else? I just want to make sure I'm replicating your tests as best as possible. Thanks!

P.s. @BastiaanMDC, I haven't forgotten about your multi device SPI problem, I just want to get to the point where we're testing the same things before I delve into that.

evermore99 commented 3 years ago

I tried this example an it works with a teensy4.1 and a featherwing3.5 and the cn0391 its somehow different.

I am lacking knowledge on the SPI stuff I had a long chat with with KURTE on PJRC. I totally annoyed the whole forum. I get quite stubborn and persistent sometimes.

https://forum.pjrc.com/threads/62300-trying-to-understand-the-AD7124

https://ez.analog.com/circuits_from_the_lab/f/q-a/534189/ad7124-8-code-problem

This is what I measured on the MISO line https://forum.pjrc.com/threads/61731-SPI-CN0391-question-reflection-on-the-MOSI-MISO-line

JB Murray posted some interesting code, which I stumbled on this evening...

JBmurray (I just understand google search) https://github.com/JBMurray6/SerialToAD7124-8/blob/master/SerialToAD7124-8.ino

Best regards, next time you have build something like this up, and tested it ill will build up mine to verify.

Thanks for your time!

Best Bastiaan

Op di 19 jan. 2021 om 06:18 schreef wrong-kendall notifications@github.com

I've got a teensy and a cn0391 on the way so we'll be able to compare similar setups. I'll update this once they arrive and I've had a chance to experiment with them.

@BastiaanMDC https://github.com/BastiaanMDC multiple SPI devices on the same bus should be as trivial as using a different {Chip,Slave}Select pin on your microcontroller. When you initialize each on using a different pin, the SPI library should transparently handle the multiple devices for you by holding the SS/CS line low for the device you want to communicate with. Here http://www.learningaboutelectronics.com/Articles/Multiple-SPI-devices-to-an-arduino-microcontroller.php is a tutorial

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/epsilonrt/ad7124/pull/14#issuecomment-762607367, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARH2AEES7XJKTVVYATPY2ETS2UI2HANCNFSM4WBZ5CSA .

BastiaanMDC commented 3 years ago

Hi Kendall,

many thanks for taking your time and looking into the code.

For the test I used the full test, it’s been 6 months or longer doing this. I clearly had problems in my notes that featherwing 3.5 in combination with the cn0391 was giving out. Or this device is working or the screen isn’t updating. I used SPI.Begin and separated it in two different SPI Constructors one for TFT and the other for the featherwing 3.5 inch. Used also a nowMillis to let the SPI constructor be open for 50ms and the other 100ms. And that they should switch in doing so.

The values measured on the Serial monitor with the cn0391 compared to the cl3521A didn’t match up. (CL3521A is a thermocouple calibrator which can simulate all types of thermocouples) I referenced the cl3521A with a Keithley 2700. so there is some bug in there. . This was my second attempt with this still beautiful chip. How do I time the SPI? As far as I got from the nick Gammon, was that the SPI library is quite Intelligent and knows when to pull or trigger the CS Pins, MOSI or MISO. I used various tests from Paull Stoffregen to check on the integrity of the line. I didn’t use a buffer as described in : https://www.pjrc.com/better-spi-bus-design-in-3-steps/

I did a work around and now use two different HW SPI with the teensy4.1.

Best regards

Bastiaan Pierik

/ constants ================================================================ / const int ledPin = LED_BUILTIN; const int ssPin = 10;

include

include "CN0391.h"

include "Communication.h"

include "Adafruit_GFX.h"

include "HX8357_t3n.h"

include // library to draw w/o flicker

include

include

include

include

/* INPUTS and OUTPUTS

const int DIRmagnetLeft=0; const int DIRmagnetRight=1; const int DIR_TEC_Cool=2; const int DIR_TEC_HOT=3;

const int PWM_DRV_TEC1 = 4; const int PWM_DRV_TEC2 =5; const int PWM_PUMP =6; const int PWM_EMAGNET =7; const int PWM_FAN =36; const int FLOW_Sensor =25; const int FLT_Peltier1 =29; const int FLT_Peltier2 =30; const int FLT_PMP =31; const int FLT_EMAG =32;

const int CSTEC1=A9; const int CSTEC2=A8; const int CSPUMP=A7; const int CSEMAG=A6;

const int BTNPIN=20;

//SPI defines

define TFT_DC 9

define TFT_CS 10

define TFT_RST -1

define AD7124_CS 8

define AD7124_SPEED 5000000 // 2mhz?

//TFT size

define TS_MINX 3800

define TS_MAXX 100

define TS_MINY 100

define TS_MAXY 3750

//TFT defined colors

define C_BLACK 0x0000

define C_BLUE 0x001F

define C_RED 0xF800

define C_GREEN 0x07E0

define C_CYAN 0x07FF

define C_MAGENTA 0xF81F

define C_YELLOW 0xFFE0

define C_WHITE 0xFFFF

//constructors for TFT without flickering HX8357_t3n tft = HX8357_t3n(TFT_CS, TFT_DC, TFT_RST); FlickerFreePrint Data1(&tft, C_WHITE, C_BLACK); FlickerFreePrint Data2(&tft, C_WHITE, C_BLACK);

unsigned long endmicros; //speed check variables unsigned long currentmicros;

//menu Check values to check consistency of the menu loop. byte menuCount = 1; byte IntCount= 1; byte dir = 0; bool runState = false; bool runState2 = false; unsigned int count = 0; // how many times has it changed to low unsigned long countAt = 0; // when count changed unsigned int countPrinted = 0; unsigned int icount = 0; // how many times has it changed to low unsigned long icountAt = 0; // when count changed unsigned int icountPrinted = 0;

long oldPosition = -100; long newPosition; long Position;

long oldPWMPosition=-100; long PWMPosition=1;

//---------- values for the ad7124 const double Gain = 16; const double Rf = 5.11E3; const long Zero = 1L << 23; const long FullScale = 1L << 24;

//variables returned from analog inputs int CSRAWTEC1_value; int CSRAWTEC2_value; int CSRAWPUMP_value; int CSRAWEMAG_value;

float Currentfactor1=5.06; float Currentfactor2=5.06; float Currentfactor3=5.06; float Currentfactor4=5.06;

float TEC1Current; float TEC2Current; float PumpCurrent; float EMAGCurrent;

int PMPSpeed_screen; int EMAGNET_Screen;

long SBraw[7]; double SBvolt[7]; long dataWord; byte statusWord; byte ch; / constants ================================================================ / int filterWord = 100;

// Sample Speed Setting (Full Power Sinc3 Filter Mode) // FW | SPS | SPS/Ch // 600 | 6 | 1 // 100 | 60 | 10 // 40 | 156 | 26 // 20 | 300 | 50

float j; unsigned long StartTime, EndTime; char str[30];

SPISettings settingsAD7124(5000000, MSBFIRST, SPI_MODE3); SPISettings settingsTFT(25000000, LSBFIRST, SPI_MODE3);

//encoder Values float TempValue=0; int PMPSpeed=0; int EMAGNET=0; int SampleTime=1000; // 1 second int Repitition_rate=1; unsigned int Duration_ms_ON=1000; // 1 second default unsigned int Duration_ms_OFF=1000;//default unsigned long Time_NOW = 0; int ON_LT3760=LOW; int minimumLT3760=10; //minimum span needed to switch on off the lt3760 unsigned int ON_Time1=1000; // preliminary values at start up unsigned int OFFTime1=5000; unsigned long previousMillis=0; unsigned long DISPLAY_REFRESH1=1000; unsigned long Interval=1000; unsigned long nowMillis;//important elapsedMillis ElapsedOFF; elapsedMillis ElapsedON; int repeats=1; int Intensity=0; int i=0;

//default Configuration Current Direction Bipolar to Unipolar boolean Bipolar=true; boolean Unipolar=false; int ConfigMin=2048; int ConfigMax=4095; int EmagnetConfig;

//using namespace Ad7124; //Ad7124Chip adc;

//debounce code// Bounce Btn = Bounce(BTNPIN,5); // Instantiate a Bounce object Encoder enc(27,28); //instance Encoder Rotary ADC *IADC = new ADC(); //class ADC from the teensy read in Currents

//PID Parameters double Setpoint, Input, Output; double aggKp=4, aggKi=0.2, aggKd=1; double consKp=1, consKi=0.05, consKd=0.25;

PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT);

long mmap0(long x, long mn1,long mx1, long mn2, long mx2) { return mn2+(x-mn1)(mx2-mn2)/(mx1-mn1); } long mmap1(long x, long mn1,long mx1, long mn2, long mx2) { return mn2+(x-mn1)(mx2-mn2+1)/(mx1-mn1+1); }

int InternalADC() { IADC->adc0->startContinuous(CSTEC1); IADC->adc0->startContinuous(CSTEC2); IADC->adc0->startContinuous(CSPUMP); IADC->adc0->startContinuous(CSEMAG); CSRAWTEC1_value = IADC->adc0->analogRead(CSTEC1); CSRAWTEC2_value = IADC->adc0->analogRead(CSTEC2); CSRAWPUMP_value = IADC->adc0->analogRead(CSPUMP); CSRAWEMAG_value =IADC->adc0->analogRead(CSEMAG);

TEC1Current=CSRAWTEC1_value*Currentfactor1;
TEC2Current=CSRAWTEC1_value*Currentfactor2;
PumpCurrent=CSRAWPUMP_value*Currentfactor3;
EMAGCurrent=CSRAWEMAG_value*Currentfactor4;

}

void setup() {

pinMode(BTNPIN,INPUT); pinMode(FLT_Peltier1,INPUT); pinMode(FLT_Peltier2,INPUT); pinMode(FLT_PMP,INPUT); pinMode(FLT_EMAG,INPUT); pinMode(CSTEC1,INPUT); pinMode(CSTEC2,INPUT); pinMode(CSPUMP,INPUT); pinMode(CSEMAG,INPUT);

pinMode(DIRmagnetLeft,OUTPUT); pinMode(DIRmagnetRight,OUTPUT); pinMode(DIR_TEC_Cool,OUTPUT); pinMode(PWM_DRV_TEC1,OUTPUT); pinMode(PWM_DRV_TEC2,OUTPUT); pinMode(PWM_PUMP,OUTPUT); pinMode(PWM_EMAGNET,OUTPUT);

//SPI pinMode(AD7124_CS, OUTPUT); pinMode(TFT_CS, OUTPUT);

myPID.SetMode(AUTOMATIC); myPID.SetSampleTime(SampleTime); analogWriteResolution(12); analogWriteFrequency(PWM_DRV_TEC1,25000); analogWriteFrequency(PWM_DRV_TEC2,25000); analogWriteFrequency(PWM_PUMP,200); analogWriteFrequency(PWM_EMAGNET,10000);

IADC->adc0->setConversionSpeed(ADC_CONVERSION_SPEED::MED_SPEED); IADC->adc0->setSamplingSpeed(ADC_SAMPLING_SPEED::MED_SPEED); // change the sampling speed IADC->adc0->setAveraging(4); IADC->adc0->setResolution(12); IADC->startSynchronizedContinuous(CSTEC1,ADC_0); IADC->startSynchronizedContinuous(CSTEC2,ADC_0); IADC->startSynchronizedContinuous(CSPUMP,ADC_0); IADC->startSynchronizedContinuous(CSEMAG,ADC_0);

SPI.begin();

 //Initialize serial and wait for port to open:

Serial.begin (38400); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }

// prints title with ending line break

digitalWrite(AD7124_CS,LOW); SPI.beginTransaction(settingsAD7124); // Initializes the AD7124 device, the pin /CS is pin 10 (/SS) // Initializes the AD7124 device, the pin /CS is pin 10 (/SS) // Loop until ADC responds

delay(100);

CN0391_init();

if(USE_RTD_CALIBRATION == YES)

CN0391_calibration(RTD_CHANNEL); Serial.println(F("RTD channel calibration completed!"));

else

Serial.println(F("Calibration for RTD channel is disabled."));

endif

if(USE_TH_CALIBRATION == YES)

CN0391_calibration(TH_CHANNEL); Serial.println(F("TC channel calibration completed!"));

else

Serial.println(F("Calibration for TC channel is disabled."));

endif

// // digitalWrite (AD7124_CS, HIGH);// setting the CS Pin high SPI.endTransaction(); SPI.beginTransaction(settingsTFT); digitalWrite(TFT_CS,LOW);

tft.begin(); tft.begin(); tft.setRotation(1); tft.fillScreen(C_BLACK);

tft.fillRect(0, 30, 480, 10, C_RED); tft.fillRect(0, 140, 480, 10, C_BLUE);

SPI.endTransaction(); }

void loop() {

InternalADC(); TFT_HX8357_NEW(); Menu1Check(); Menu1Countdown();

}

int Menu1Check() { if (Btn.update()) { int value = Btn.read(); Serial.println(" updated "); if(value==HIGH) {

  menuCount=menuCount+1; //move statement after pressed
  count++;
  countAt=millis();
}

} else { if(count!=countPrinted) { unsigned long nowMillis=millis(); if(nowMillis - countAt>100) //shortened the bounce interval to increase the speed of the button { countPrinted=count;

    }
  }
    //do nothing,
  //     Serial.print("Button not Pressed ");
}

if (menuCount>8) { Serial.print("menu larger as 8"); menuCount = 1; }

if (menuCount == 1) { Serial.print("MENU1 set SampleTime ");

  if(oldPosition>=0&&oldPosition<100)
  oldPosition=0;

  long newPosition = enc.read();

// newPosition=newPosition/4; if (newPosition != oldPosition) { oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>0&&newPosition<100)
{
SampleTime = newPosition;
Serial.print(" SampleTime in ms ");
Serial.println(SampleTime);

}

}

if (menuCount == 2) { Serial.print("MENU2 set Temperature");

  if(oldPosition>=0&&oldPosition<100)
  oldPosition=0;

  long newPosition = enc.read();
 newPosition=newPosition/4;
 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>-10&&newPosition<60)
{
TempValue = constrain(newPosition,-10,60);
Serial.print(" Temperature ");
Serial.println(TempValue);

//input=value from the thermocouple sensor

Setpoint=TempValue;

}

}

// use menuCount2 for setting 10/100th degree , add both values together after menucount2.

if (menuCount == 3) { Serial.print("MENU3 set Pump Speed");

  if(oldPosition>=0&&oldPosition<100)
  oldPosition=0;

  long newPosition = enc.read();

 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

 }
  if(newPosition>0&&newPosition<100)
{
 Serial.print(newPosition);
 PMPSpeed=constrain(newPosition,0,100);
 newPosition=map(newPosition,0,100,0,4095);
}

} if(menuCount==4) {

 Serial.print("MENU4 set Bipolar or Unipolar");
if(oldPosition>=0&&oldPosition<100)
  oldPosition=0;

  long newPosition = enc.read();

 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>=0&&newPosition<2)
{
  Repitition_rate = newPosition;
if(newPosition==1)
{
  Serial.print("Bipolar selected");
 Bipolar=true;
 Unipolar=false;
 ConfigMax=4095;
 ConfigMin=0;

}
else
{
  Serial.print("Unipolar selected");
}
  Bipolar=false;
  Unipolar=true;
  ConfigMin=2048;
  ConfigMax=4095;

}

}

if (menuCount == 5) { Serial.print("MENU5 set Emagnet Current"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

  long newPosition = enc.read();

 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>0&&newPosition<100)
{
  Serial.print("MENU4 set EMAG Current");

  EMAGNET=constrain(newPosition,0,100);
  EmagnetConfig=map(newPosition,0,100,ConfigMin,ConfigMax);
  EMAGNET=map(EMAGNET,0,100,0,17);

// digitalWrite(DIRmagnetLeft,HIGH); // digitalWrite(DirmagnetRight,LOW); } else { analogWrite(4, 0);

}

} if (menuCount == 6) { Serial.print("MENU6 set On time Duration"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

  long newPosition = enc.read();
  newPosition=newPosition/4;
 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>0&&newPosition<100)
{
  Duration_ms_ON = newPosition*1000;
Serial.print(" Duration_ms On ");
Serial.println(Duration_ms_ON);

  //input=value from the thermocouple sensor

}
   //out of boundary set to zero.

}

  if (menuCount == 7)

{ Serial.print("MENU6 set Off Time Duration"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

  long newPosition = enc.read();
  newPosition=newPosition/4;
 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>0&&newPosition<100)
{
  Duration_ms_OFF = newPosition*1000;
Serial.print(" Duration_ms Off= ");
Serial.println(Duration_ms_OFF/1000);

  //input=value from the thermocouple sensor

}
   //out of boundary set to zero.

}

  if (menuCount == 8)

{ Serial.print("MENU8 Repitition in Hz"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

  long newPosition = enc.read();

 if (newPosition != oldPosition)
 {
    oldPosition = newPosition;

    Serial.print(newPosition);
 }

if(newPosition>0&&newPosition<25)
{
  Repitition_rate = newPosition;
Serial.print(" Repitition_Rate in Hz ");
Serial.println(Repitition_rate);

}
   //out of boundary set to zero.

}

}

int Menu1Countdown() //Menu 1 //Display { / all graphics commands have to appear within the loop body. /

if(menuCount>0&&menuCount==1) { //Sample Time tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(10,130); tft.print("Variables to SET"); tft.setTextSize(1); tft.setCursor(10,150); tft.print(" Setting Variables by rotating enc and press button to save"); tft.setCursor(10, 170); tft.print("1* Samples/sec ");

tft.print(SampleTime);

}

if (menuCount > 1 && menuCount == 2) { //change PWMTEC2 Value on screen tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10,190); tft.setTextSize(1); tft.print("2* Temp Setpoint= "); tft.print(TempValue); //Data1.print(SBvolt[0]);

Input=0;//readin the temperature value from the sensor AD7124 //out of boundary set to zero. double gap = abs(Setpoint-Input); //distance away from setpoint if (gap < 10) { //we're close to setpoint, use conservative tuning parameters myPID.SetTunings(consKp, consKi, consKd); } else { //we're far from setpoint, use aggressive tuning parameters myPID.SetTunings(aggKp, aggKi, aggKd); }

myPID.Compute();

}

if (menuCount > 2 && menuCount == 3) { //set pump speed on the screen in PWM in 100% tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(1); tft.setCursor(10,210);

tft.print("3* PMPSPD_100% = "); tft.print(PMPSpeed);

} if(menuCount>3 &&menuCount==4) { //Emagnet current tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(1); tft.setCursor(10,230); tft.print("4* Set HALF or FULL Square Waveform "); if(Bipolar==true)tft.print(" Bipolar"); else { tft.print("Unipolar"); }

} if(menuCount>4 &&menuCount==5) {

     //select Bipolar or Unipolar
tft.setTextColor(C_WHITE, C_BLACK);
    tft.setTextSize(1);
    tft.setCursor(10,250);
    tft.print("5* Current Emagnet  ");
    tft.print(EMAGNET);

}

  if(menuCount>5 &&menuCount==6)

{ //set on Duration ms for the Emagnet tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10, 270); tft.setTextSize(1); tft.print("5* OFFTime in ms "); tft.print(Duration_ms_ON); }

    if(menuCount>6 &&menuCount==7)

{ analogWrite(PWM_DRV_TEC1, Output); analogWrite(PWM_DRV_TEC2, Output); //set off Duration ms for the Emagnet tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10, 290); tft.setTextSize(1); tft.print("6* ON_Time1 in ms "); tft.print(Duration_ms_OFF);

} if(menuCount>7&&menuCount==8) { tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10,310); tft.setTextSize(1); tft.print("7* Rep-Rate in Hz "); tft.print(Repitition_rate); for(int i=0;i<Repitition_rate;i++) { if(ElapsedOFF>=Duration_ms_OFF) //OFFTime first { tft.fillRect(100,200,10, 10, C_RED);

      //ON_LT3760=LOW;
      // ElapsedOFF=ElapsedOFF-OFFTime1;

      ElapsedOFF=0; ElapsedON=0;
      analogWrite(4, 0);
      digitalWrite(2,LOW);//DIREMAGNETLEFT;

} else if(ElapsedON>=Duration_ms_ON)//ONTime Second { tft.fillRect(100,200,10, 10, C_GREEN); //ON_LT3760=HIGH; // delay(ON_Time1+minimumLT3760);

      analogWrite(4, EmagnetConfig);
      digitalWrite(2,HIGH);//DIREMAGNETLEFT;
    }
 }

} if(menuCount>8&&menuCount==9) { tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(120,290); tft.setTextSize(1); tft.print(" "); }

if(menuCount>9&&menuCount==10) menuCount=1;

tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(0, 300); tft.print("M"); tft.print(menuCount); }

int TFT_HX8357NEW() { // get some data j += 0.0013; currentmicros = micros(); long value; double voltage;

// Measuring Voltage on Channel 0 in Single Conversion Mode SPI.beginTransaction(settingsAD7124); digitalWrite(AD7124_CS,LOW); unsigned long currentMillis=millis(); if(currentMillis-previousMillis>=1000) { CN0391_set_data(); Serial.println("test"); CN0391_display_data(); previousMillis=currentMillis; }

digitalWrite(AD7124_CS,HIGH); SPI.endTransaction(); SPI.beginTransaction(settingsTFT); digitalWrite(TFT_CS,LOW); //turnon then do a

Data1.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(0, 0); tft.print("Emagnet program");

///----- flicker test j += 0.0013;

// // now let's see the tft update with FlickerFree tft.setTextSize(1); tft.setCursor(0,20); Data1.setTextColor(C_WHITE, C_BLACK); tft.print("Temperature readout"); tft.print(" Voltages from Thermocouples "); tft.setTextSize(2); Data1.setTextColor(C_WHITE, C_BLACK); tft.setCursor(20,45); Data1.print(voltage); tft.print(" TempEmag"); // tft.setCursor(20,60); // Data1.print(temp1[i]); ); // tft.print(" Measured in C"); // tft.setCursor(20,75); // Data1.print(SBvolt[2]); // tft.print(" TEMPTEC2"); // tft.setCursor(20,90); // Data1.print(SBvolt[3]); // tft.print(" Temp"); // tft.setCursor(20,105); // Data1.print(SBvolt[4]); // tft.print(" C"); // tft.setCursor(20,120); // Data1.print(SBvolt[5]); //// tft.print(" C"); // tft.setTextSize(2); // tft.setCursor(250,45); // tft.print("Currents"); // tft.setTextSize(2); // tft.setCursor(250,60); // Data1.print(TEC1Current); // tft.print("A"); // tft.setCursor(250,75); // Data1.print(TEC2Current); // tft.print("A"); // tft.setCursor(250,90); // Data1.print(PumpCurrent); // tft.print("A"); // tft.setCursor(250,105); // Data1.print(EMAGCurrent); // tft.print("A");

// set PWM and Temperature // Data1.setTextColor(C_WHITE, C_BLACK); // tft.setTextSize(2); // tft.setCursor(240, 45); // tft.print(" Set Setpoint TEMP EMAG"); // tft.setCursor(240, 60); // tft.print(" Temp Setpoint TEC2 100%"); // tft.setCursor(240, 75); // tft.print(" PWM PMP 100%");

// you must call the text colors for the object // // StartTime = millis(); // // // one call and flicker free paint is done // tft.setCursor(300, 200); // tft.setTextSize(2); // Data1.print(j, 2);//for digits behidn teh comma // // // lets see how fast // EndTime = millis() - StartTime; // sprintf(str, "=%lu", EndTime); // Data1.print(str);

}

Von: wrong-kendall notifications@github.com Gesendet: Thursday, 18 February 2021 06:38 An: epsilonrt/ad7124 ad7124@noreply.github.com Cc: Pierik, Bastiaan Bastiaan.Pierik@mdc-berlin.de; Mention mention@noreply.github.com Betreff: [ext] Re: [epsilonrt/ad7124] Use BitOrder instead of uint8_t on SAMD chips (#14)

Okay. Sorry for the delay. I've finally gotten a cn0391, and more importantly, time to debug. I hooked up the cn0391 arduino shield to an Uno compatible board and was able to use the examplehttps://github.com/analogdevicesinc/arduino/tree/master/Arduino%20Uno%20R3/examples/CN0391_example provided by analog devices. That test worked fine.

Now to test with this library, which example should I use with the cn0391? @evermore99https://github.com/evermore99 and @BastiaanMDChttps://github.com/BastiaanMDC, you both mention testing the cn0391 with this library; are you using the Full Testhttps://github.com/epsilonrt/ad7124/tree/master/examples/ad7124-full-test or something else? I just want to make sure I'm replicating your tests as best as possible. Thanks!

P.s. @BastiaanMDChttps://github.com/BastiaanMDC, I haven't forgotten about your multi device SPI problem, I just want to get to the point where we're testing the same things before I delve into that.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/epsilonrt/ad7124/pull/14#issuecomment-781069226, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AH6OTURBH6LUAFNZTDBN6C3S7SRS5ANCNFSM4WBZ5CSA.

evermore99 commented 3 years ago

One step closer to a solution:)

Op vr 19 feb. 2021 om 09:42 schreef BastiaanMDC notifications@github.com

Hi Kendall,

many thanks for taking your time and looking into the code.

For the test I used the full test, it’s been 6 months or longer doing this. I clearly had problems in my notes that featherwing 3.5 in combination with the cn0391 was giving out. Or this device is working or the screen isn’t updating. I used SPI.Begin and separated it in two different SPI Constructors one for TFT and the other for the featherwing 3.5 inch. Used also a nowMillis to let the SPI constructor be open for 50ms and the other 100ms. And that they should switch in doing so.

The values measured on the Serial monitor with the cn0391 compared to the cl3521A didn’t match up. (CL3521A is a thermocouple calibrator which can simulate all types of thermocouples) I referenced the cl3521A with a Keithley 2700. so there is some bug in there. . This was my second attempt with this still beautiful chip. How do I time the SPI? As far as I got from the nick Gammon, was that the SPI library is quite Intelligent and knows when to pull or trigger the CS Pins, MOSI or MISO. I used various tests from Paull Stoffregen to check on the integrity of the line. I didn’t use a buffer as described in : https://www.pjrc.com/better-spi-bus-design-in-3-steps/

I did a work around and now use two different HW SPI with the teensy4.1.

Best regards

Bastiaan Pierik

/ constants ================================================================ / const int ledPin = LED_BUILTIN; const int ssPin = 10;

include

include "CN0391.h"

include "Communication.h"

include "Adafruit_GFX.h"

include "HX8357_t3n.h"

include // library to draw w/o flicker

include

include

include

include

/* INPUTS and OUTPUTS

  • DIR= direction of the magnet, peltier (HOT COOL) =OUTPUTS
  • FLOWsensor = INPUT
  • PWM= Output TEC1,TEC2,EMAGNET,PUMP different speeds for pwm.
  • FLT= Faults from the Hbridge Drivers
  • CS=Currentsense from the 4 HBridge drivers */

const int DIRmagnetLeft=0; const int DIRmagnetRight=1; const int DIR_TEC_Cool=2; const int DIR_TEC_HOT=3;

const int PWM_DRV_TEC1 = 4; const int PWM_DRV_TEC2 =5; const int PWM_PUMP =6; const int PWM_EMAGNET =7; const int PWM_FAN =36; const int FLOW_Sensor =25; const int FLT_Peltier1 =29; const int FLT_Peltier2 =30; const int FLT_PMP =31; const int FLT_EMAG =32;

const int CSTEC1=A9; const int CSTEC2=A8; const int CSPUMP=A7; const int CSEMAG=A6;

const int BTNPIN=20;

//SPI defines

define TFT_DC 9

define TFT_CS 10

define TFT_RST -1

define AD7124_CS 8

define AD7124_SPEED 5000000 // 2mhz?

//TFT size

define TS_MINX 3800

define TS_MAXX 100

define TS_MINY 100

define TS_MAXY 3750

//TFT defined colors

define C_BLACK 0x0000

define C_BLUE 0x001F

define C_RED 0xF800

define C_GREEN 0x07E0

define C_CYAN 0x07FF

define C_MAGENTA 0xF81F

define C_YELLOW 0xFFE0

define C_WHITE 0xFFFF

//constructors for TFT without flickering HX8357_t3n tft = HX8357_t3n(TFT_CS, TFT_DC, TFT_RST); FlickerFreePrint Data1(&tft, C_WHITE, C_BLACK); FlickerFreePrint Data2(&tft, C_WHITE, C_BLACK);

unsigned long endmicros; //speed check variables unsigned long currentmicros;

//menu Check values to check consistency of the menu loop. byte menuCount = 1; byte IntCount= 1; byte dir = 0; bool runState = false; bool runState2 = false; unsigned int count = 0; // how many times has it changed to low unsigned long countAt = 0; // when count changed unsigned int countPrinted = 0; unsigned int icount = 0; // how many times has it changed to low unsigned long icountAt = 0; // when count changed unsigned int icountPrinted = 0;

long oldPosition = -100; long newPosition; long Position;

long oldPWMPosition=-100; long PWMPosition=1;

//---------- values for the ad7124 const double Gain = 16; const double Rf = 5.11E3; const long Zero = 1L << 23; const long FullScale = 1L << 24;

//variables returned from analog inputs int CSRAWTEC1_value; int CSRAWTEC2_value; int CSRAWPUMP_value; int CSRAWEMAG_value;

float Currentfactor1=5.06; float Currentfactor2=5.06; float Currentfactor3=5.06; float Currentfactor4=5.06;

float TEC1Current; float TEC2Current; float PumpCurrent; float EMAGCurrent;

int PMPSpeed_screen; int EMAGNET_Screen;

long SBraw[7]; double SBvolt[7]; long dataWord; byte statusWord; byte ch; / constants ================================================================ / int filterWord = 100;

// Sample Speed Setting (Full Power Sinc3 Filter Mode) // FW | SPS | SPS/Ch // 600 | 6 | 1 // 100 | 60 | 10 // 40 | 156 | 26 // 20 | 300 | 50

float j; unsigned long StartTime, EndTime; char str[30];

SPISettings settingsAD7124(5000000, MSBFIRST, SPI_MODE3); SPISettings settingsTFT(25000000, LSBFIRST, SPI_MODE3);

//encoder Values float TempValue=0; int PMPSpeed=0; int EMAGNET=0; int SampleTime=1000; // 1 second int Repitition_rate=1; unsigned int Duration_ms_ON=1000; // 1 second default unsigned int Duration_ms_OFF=1000;//default unsigned long Time_NOW = 0; int ON_LT3760=LOW; int minimumLT3760=10; //minimum span needed to switch on off the lt3760 unsigned int ON_Time1=1000; // preliminary values at start up unsigned int OFFTime1=5000; unsigned long previousMillis=0; unsigned long DISPLAY_REFRESH1=1000; unsigned long Interval=1000; unsigned long nowMillis;//important elapsedMillis ElapsedOFF; elapsedMillis ElapsedON; int repeats=1; int Intensity=0; int i=0;

//default Configuration Current Direction Bipolar to Unipolar boolean Bipolar=true; boolean Unipolar=false; int ConfigMin=2048; int ConfigMax=4095; int EmagnetConfig;

//using namespace Ad7124; //Ad7124Chip adc;

//debounce code// Bounce Btn = Bounce(BTNPIN,5); // Instantiate a Bounce object Encoder enc(27,28); //instance Encoder Rotary ADC *IADC = new ADC(); //class ADC from the teensy read in Currents

//PID Parameters double Setpoint, Input, Output; double aggKp=4, aggKi=0.2, aggKd=1; double consKp=1, consKi=0.05, consKd=0.25;

PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT);

long mmap0(long x, long mn1,long mx1, long mn2, long mx2) { return mn2+(x-mn1)(mx2-mn2)/(mx1-mn1); } long mmap1(long x, long mn1,long mx1, long mn2, long mx2) { return mn2+(x-mn1)(mx2-mn2+1)/(mx1-mn1+1); }

int InternalADC() { IADC->adc0->startContinuous(CSTEC1); IADC->adc0->startContinuous(CSTEC2); IADC->adc0->startContinuous(CSPUMP); IADC->adc0->startContinuous(CSEMAG); CSRAWTEC1_value = IADC->adc0->analogRead(CSTEC1); CSRAWTEC2_value = IADC->adc0->analogRead(CSTEC2); CSRAWPUMP_value = IADC->adc0->analogRead(CSPUMP); CSRAWEMAG_value =IADC->adc0->analogRead(CSEMAG);

TEC1Current=CSRAWTEC1_valueCurrentfactor1; TEC2Current=CSRAWTEC1_valueCurrentfactor2; PumpCurrent=CSRAWPUMP_valueCurrentfactor3; EMAGCurrent=CSRAWEMAG_valueCurrentfactor4;

}

void setup() {

pinMode(BTNPIN,INPUT); pinMode(FLT_Peltier1,INPUT); pinMode(FLT_Peltier2,INPUT); pinMode(FLT_PMP,INPUT); pinMode(FLT_EMAG,INPUT); pinMode(CSTEC1,INPUT); pinMode(CSTEC2,INPUT); pinMode(CSPUMP,INPUT); pinMode(CSEMAG,INPUT);

pinMode(DIRmagnetLeft,OUTPUT); pinMode(DIRmagnetRight,OUTPUT); pinMode(DIR_TEC_Cool,OUTPUT); pinMode(PWM_DRV_TEC1,OUTPUT); pinMode(PWM_DRV_TEC2,OUTPUT); pinMode(PWM_PUMP,OUTPUT); pinMode(PWM_EMAGNET,OUTPUT);

//SPI pinMode(AD7124_CS, OUTPUT); pinMode(TFT_CS, OUTPUT);

myPID.SetMode(AUTOMATIC); myPID.SetSampleTime(SampleTime); analogWriteResolution(12); analogWriteFrequency(PWM_DRV_TEC1,25000); analogWriteFrequency(PWM_DRV_TEC2,25000); analogWriteFrequency(PWM_PUMP,200); analogWriteFrequency(PWM_EMAGNET,10000);

IADC->adc0->setConversionSpeed(ADC_CONVERSION_SPEED::MED_SPEED); IADC->adc0->setSamplingSpeed(ADC_SAMPLING_SPEED::MED_SPEED); // change the sampling speed IADC->adc0->setAveraging(4); IADC->adc0->setResolution(12); IADC->startSynchronizedContinuous(CSTEC1,ADC_0); IADC->startSynchronizedContinuous(CSTEC2,ADC_0); IADC->startSynchronizedContinuous(CSPUMP,ADC_0); IADC->startSynchronizedContinuous(CSEMAG,ADC_0);

SPI.begin();

//Initialize serial and wait for port to open: Serial.begin (38400); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }

// prints title with ending line break

digitalWrite(AD7124_CS,LOW); SPI.beginTransaction(settingsAD7124); // Initializes the AD7124 device, the pin /CS is pin 10 (/SS) // Initializes the AD7124 device, the pin /CS is pin 10 (/SS) // Loop until ADC responds

delay(100);

CN0391_init();

if(USE_RTD_CALIBRATION == YES)

CN0391_calibration(RTD_CHANNEL); Serial.println(F("RTD channel calibration completed!"));

else

Serial.println(F("Calibration for RTD channel is disabled."));

endif

if(USE_TH_CALIBRATION == YES)

CN0391_calibration(TH_CHANNEL); Serial.println(F("TC channel calibration completed!"));

else

Serial.println(F("Calibration for TC channel is disabled."));

endif

// // digitalWrite (AD7124_CS, HIGH);// setting the CS Pin high SPI.endTransaction(); SPI.beginTransaction(settingsTFT); digitalWrite(TFT_CS,LOW);

tft.begin(); tft.begin(); tft.setRotation(1); tft.fillScreen(C_BLACK);

tft.fillRect(0, 30, 480, 10, C_RED); tft.fillRect(0, 140, 480, 10, C_BLUE);

SPI.endTransaction(); }

void loop() {

InternalADC(); TFT_HX8357_NEW(); Menu1Check(); Menu1Countdown();

}

int Menu1Check() { if (Btn.update()) { int value = Btn.read(); Serial.println(" updated "); if(value==HIGH) {

menuCount=menuCount+1; //move statement after pressed count++; countAt=millis(); } } else { if(count!=countPrinted) { unsigned long nowMillis=millis(); if(nowMillis - countAt>100) //shortened the bounce interval to increase the speed of the button { countPrinted=count;

} } //do nothing, // Serial.print("Button not Pressed "); } if (menuCount>8) { Serial.print("menu larger as 8"); menuCount = 1; }

if (menuCount == 1) { Serial.print("MENU1 set SampleTime ");

if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read(); // newPosition=newPosition/4; if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>0&&newPosition<100) { SampleTime = newPosition; Serial.print(" SampleTime in ms "); Serial.println(SampleTime);

} }

if (menuCount == 2) { Serial.print("MENU2 set Temperature");

if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read(); newPosition=newPosition/4; if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>-10&&newPosition<60) { TempValue = constrain(newPosition,-10,60); Serial.print(" Temperature "); Serial.println(TempValue);

//input=value from the thermocouple sensor

Setpoint=TempValue;

} }

// use menuCount2 for setting 10/100th degree , add both values together after menucount2.

if (menuCount == 3) { Serial.print("MENU3 set Pump Speed");

if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read();

if (newPosition != oldPosition) { oldPosition = newPosition;

} if(newPosition>0&&newPosition<100) { Serial.print(newPosition); PMPSpeed=constrain(newPosition,0,100); newPosition=map(newPosition,0,100,0,4095); }

} if(menuCount==4) {

Serial.print("MENU4 set Bipolar or Unipolar"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read();

if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>=0&&newPosition<2) { Repitition_rate = newPosition; if(newPosition==1) { Serial.print("Bipolar selected"); Bipolar=true; Unipolar=false; ConfigMax=4095; ConfigMin=0;

} else { Serial.print("Unipolar selected"); } Bipolar=false; Unipolar=true; ConfigMin=2048; ConfigMax=4095;

} }

if (menuCount == 5) { Serial.print("MENU5 set Emagnet Current"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read();

if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>0&&newPosition<100) { Serial.print("MENU4 set EMAG Current");

EMAGNET=constrain(newPosition,0,100); EmagnetConfig=map(newPosition,0,100,ConfigMin,ConfigMax); EMAGNET=map(EMAGNET,0,100,0,17);

// digitalWrite(DIRmagnetLeft,HIGH); // digitalWrite(DirmagnetRight,LOW); } else { analogWrite(4, 0);

}

} if (menuCount == 6) { Serial.print("MENU6 set On time Duration"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read(); newPosition=newPosition/4; if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>0&&newPosition<100) { Duration_ms_ON = newPosition*1000; Serial.print(" Duration_ms On "); Serial.println(Duration_ms_ON);

//input=value from the thermocouple sensor

} //out of boundary set to zero. }

if (menuCount == 7) { Serial.print("MENU6 set Off Time Duration"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read(); newPosition=newPosition/4; if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>0&&newPosition<100) { Duration_ms_OFF = newPosition*1000; Serial.print(" Duration_ms Off= "); Serial.println(Duration_ms_OFF/1000);

//input=value from the thermocouple sensor

} //out of boundary set to zero. }

if (menuCount == 8) { Serial.print("MENU8 Repitition in Hz"); if(oldPosition>=0&&oldPosition<100) oldPosition=0;

long newPosition = enc.read();

if (newPosition != oldPosition) { oldPosition = newPosition;

Serial.print(newPosition); }

if(newPosition>0&&newPosition<25) { Repitition_rate = newPosition; Serial.print(" Repitition_Rate in Hz "); Serial.println(Repitition_rate);

} //out of boundary set to zero. }

}

int Menu1Countdown() //Menu 1 //Display { / all graphics commands have to appear within the loop body. /

if(menuCount>0&&menuCount==1) { //Sample Time tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(10,130); tft.print("Variables to SET"); tft.setTextSize(1); tft.setCursor(10,150); tft.print(" Setting Variables by rotating enc and press button to save"); tft.setCursor(10, 170); tft.print("1* Samples/sec ");

tft.print(SampleTime);

}

if (menuCount > 1 && menuCount == 2) { //change PWMTEC2 Value on screen tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10,190); tft.setTextSize(1); tft.print("2* Temp Setpoint= "); tft.print(TempValue); //Data1.print(SBvolt[0]);

Input=0;//readin the temperature value from the sensor AD7124 //out of boundary set to zero. double gap = abs(Setpoint-Input); //distance away from setpoint if (gap < 10) { //we're close to setpoint, use conservative tuning parameters myPID.SetTunings(consKp, consKi, consKd); } else { //we're far from setpoint, use aggressive tuning parameters myPID.SetTunings(aggKp, aggKi, aggKd); }

myPID.Compute();

}

if (menuCount > 2 && menuCount == 3) { //set pump speed on the screen in PWM in 100% tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(1); tft.setCursor(10,210);

tft.print("3* PMPSPD_100% = "); tft.print(PMPSpeed);

} if(menuCount>3 &&menuCount==4) { //Emagnet current tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(1); tft.setCursor(10,230); tft.print("4* Set HALF or FULL Square Waveform "); if(Bipolar==true)tft.print(" Bipolar"); else { tft.print("Unipolar"); }

} if(menuCount>4 &&menuCount==5) {

//select Bipolar or Unipolar tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(1); tft.setCursor(10,250); tft.print("5* Current Emagnet "); tft.print(EMAGNET); }

if(menuCount>5 &&menuCount==6) { //set on Duration ms for the Emagnet tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10, 270); tft.setTextSize(1); tft.print("5* OFFTime in ms "); tft.print(Duration_ms_ON); }

if(menuCount>6 &&menuCount==7) { analogWrite(PWM_DRV_TEC1, Output); analogWrite(PWM_DRV_TEC2, Output); //set off Duration ms for the Emagnet tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10, 290); tft.setTextSize(1); tft.print("6* ON_Time1 in ms "); tft.print(Duration_ms_OFF);

} if(menuCount>7&&menuCount==8) { tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(10,310); tft.setTextSize(1); tft.print("7* Rep-Rate in Hz "); tft.print(Repitition_rate); for(int i=0;i<Repitition_rate;i++) { if(ElapsedOFF>=Duration_ms_OFF) //OFFTime first { tft.fillRect(100,200,10, 10, C_RED);

//ON_LT3760=LOW; // ElapsedOFF=ElapsedOFF-OFFTime1;

ElapsedOFF=0; ElapsedON=0; analogWrite(4, 0); digitalWrite(2,LOW);//DIREMAGNETLEFT; } else if(ElapsedON>=Duration_ms_ON)//ONTime Second { tft.fillRect(100,200,10, 10, C_GREEN); //ON_LT3760=HIGH; // delay(ON_Time1+minimumLT3760);

analogWrite(4, EmagnetConfig); digitalWrite(2,HIGH);//DIREMAGNETLEFT; } } } if(menuCount>8&&menuCount==9) { tft.setTextColor(C_WHITE, C_BLACK); tft.setCursor(120,290); tft.setTextSize(1); tft.print(" "); }

if(menuCount>9&&menuCount==10) menuCount=1;

tft.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(0, 300); tft.print("M"); tft.print(menuCount); }

int TFT_HX8357NEW() { // get some data j += 0.0013; currentmicros = micros(); long value; double voltage;

// Measuring Voltage on Channel 0 in Single Conversion Mode SPI.beginTransaction(settingsAD7124); digitalWrite(AD7124_CS,LOW); unsigned long currentMillis=millis(); if(currentMillis-previousMillis>=1000) { CN0391_set_data(); Serial.println("test"); CN0391_display_data(); previousMillis=currentMillis; }

digitalWrite(AD7124_CS,HIGH); SPI.endTransaction(); SPI.beginTransaction(settingsTFT); digitalWrite(TFT_CS,LOW); //turnon then do a

Data1.setTextColor(C_WHITE, C_BLACK); tft.setTextSize(2); tft.setCursor(0, 0); tft.print("Emagnet program");

///----- flicker test j += 0.0013;

// // now let's see the tft update with FlickerFree tft.setTextSize(1); tft.setCursor(0,20); Data1.setTextColor(C_WHITE, C_BLACK); tft.print("Temperature readout"); tft.print(" Voltages from Thermocouples "); tft.setTextSize(2); Data1.setTextColor(C_WHITE, C_BLACK); tft.setCursor(20,45); Data1.print(voltage); tft.print(" TempEmag"); // tft.setCursor(20,60); // Data1.print(temp1[i]); ); // tft.print(" Measured in C"); // tft.setCursor(20,75); // Data1.print(SBvolt[2]); // tft.print(" TEMPTEC2"); // tft.setCursor(20,90); // Data1.print(SBvolt[3]); // tft.print(" Temp"); // tft.setCursor(20,105); // Data1.print(SBvolt[4]); // tft.print(" C"); // tft.setCursor(20,120); // Data1.print(SBvolt[5]); //// tft.print(" C"); // tft.setTextSize(2); // tft.setCursor(250,45); // tft.print("Currents"); // tft.setTextSize(2); // tft.setCursor(250,60); // Data1.print(TEC1Current); // tft.print("A"); // tft.setCursor(250,75); // Data1.print(TEC2Current); // tft.print("A"); // tft.setCursor(250,90); // Data1.print(PumpCurrent); // tft.print("A"); // tft.setCursor(250,105); // Data1.print(EMAGCurrent); // tft.print("A");

// set PWM and Temperature // Data1.setTextColor(C_WHITE, C_BLACK); // tft.setTextSize(2); // tft.setCursor(240, 45); // tft.print(" Set Setpoint TEMP EMAG"); // tft.setCursor(240, 60); // tft.print(" Temp Setpoint TEC2 100%"); // tft.setCursor(240, 75); // tft.print(" PWM PMP 100%");

// you must call the text colors for the object // // StartTime = millis(); // // // one call and flicker free paint is done // tft.setCursor(300, 200); // tft.setTextSize(2); // Data1.print(j, 2);//for digits behidn teh comma // // // lets see how fast // EndTime = millis() - StartTime; // sprintf(str, "=%lu", EndTime); // Data1.print(str);

}

Von: wrong-kendall notifications@github.com Gesendet: Thursday, 18 February 2021 06:38 An: epsilonrt/ad7124 ad7124@noreply.github.com Cc: Pierik, Bastiaan Bastiaan.Pierik@mdc-berlin.de; Mention < mention@noreply.github.com> Betreff: [ext] Re: [epsilonrt/ad7124] Use BitOrder instead of uint8_t on SAMD chips (#14)

Okay. Sorry for the delay. I've finally gotten a cn0391, and more importantly, time to debug. I hooked up the cn0391 arduino shield to an Uno compatible board and was able to use the example< https://github.com/analogdevicesinc/arduino/tree/master/Arduino%20Uno%20R3/examples/CN0391_example> provided by analog devices. That test worked fine.

Now to test with this library, which example should I use with the cn0391? @evermore99https://github.com/evermore99 and @BastiaanMDC< https://github.com/BastiaanMDC>, you both mention testing the cn0391 with this library; are you using the Full Test< https://github.com/epsilonrt/ad7124/tree/master/examples/ad7124-full-test> or something else? I just want to make sure I'm replicating your tests as best as possible. Thanks!

P.s. @BastiaanMDChttps://github.com/BastiaanMDC, I haven't forgotten about your multi device SPI problem, I just want to get to the point where we're testing the same things before I delve into that.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub< https://github.com/epsilonrt/ad7124/pull/14#issuecomment-781069226>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AH6OTURBH6LUAFNZTDBN6C3S7SRS5ANCNFSM4WBZ5CSA>.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/epsilonrt/ad7124/pull/14#issuecomment-781925826, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARH2AEDFWD46ZIULED7ISP3S7YP77ANCNFSM4WBZ5CSA .