Customized compiling CN0428

After following the tutorial on wiki, I could measure the pH and temperature using CN0428,  EVAL-M355-ARDZ-INT, and ADICUP3029. (compiling of .hex file)

Next, I want to measure the parameter simultaneously from all over the 4 sensors and as stream data like below.

time       sensor1  sensor2  sensor3  sensor4

0   pH     7.4         7.5           7.4         7.5

0   temp  24          25            24          26

10   pH   7.4         7.5           7.4         7.5

10  temp  24          25            24          26

Stream data and printing all sensors at the same time are basic options In CN0429. 

So, What I will try to do is using the debugger tools (J link EDU mini) and 10 pin wire to debugging the ADICUP3029 with CCES similar to CN0429.

I looked up the code of cn0428_cn0429.cpp deposited in git hub and have some clue that solves the problem.

I'm not sure if it works because I'm a newbie to computer science and electronics. But, know a little about how to code in Arduino IDE.

I wonder if I can make it.

Would anyone can explain in detail and specifically?

Thanks

  • 0
    •  Analog Employees 
    on Oct 19, 2021 2:38 PM

    Hi Eastdaylight, and apologies for the delay.

    If you're a newbie and familiar with Arduino, there is an example here:

    https://github.com/analogdevicesinc/arduino/blob/cn0428/Arduino%20Uno%20R3/examples/CN0428_example/CN0428_example.ino

    But one thing to watch out for - while that code is in the Uno R3 repository, make sure you only use a 3.3V Arduino platform (UNO is 5V).

    -Mark

  • 0
    •  Analog Employees 
    on Oct 21, 2021 9:13 PM

    Hello,

    I agree with Mark that you could choose to go the Arduino route. But I just wanted to add a bit more detail in case you would like to use the ADICUP3029 and the CCES project instead, which could definitely be an option. For your purposes, you wouldn't need to modify any of the code on the EVAL-CN0428 boards, only the ADICUP3029 code. It sounds like you have the appropriate configuration for the debugger, but let me know if you have any questions on that.

    This has been posted here on the forum a few times now, but here is a rough block diagram of what the ADICUP3029 is doing in the CN0428:

    So I think the easiest thing to do would be to implement a timer where you load the 'measuresensor' command and leverage the rest of the code that's already there. However, the code is set up right now to wait for a response after it sends a command, so if you want to make all of the sensors measure at the same time, you would probably have to make changes so you could send the command to all 4 sensors and then separately get the responses from all 4 one-at-a-time. That may or not matter for your measurement requirement.

    Depending on what you need to build, another option could be to do this with external software. Since the CN0428 operates on serial commands, you could automate something to send the commands and collect the data. I have done this with Python in the past. I also once used Node-RED to stream data from CN0428 similar to how you described it and that worked pretty well too.

    I hope it helps.
    Best regards,
    Scott