1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Array of strings with asyn? |
From: | Ryan Pierce <[email protected]> |
To: | "[email protected]" <[email protected]> |
Date: | Mon, 7 Mar 2016 22:25:34 -0600 |
I'm wondering how best to model the following situation....I have a number of DS18B20 temperature sensors on a OneWire serial bus controlled by an Arduino Mega. A Raspberry Pi runs an IOC and communicates with the Arduino via asyn. In other words, I'm implementing a smaller version of the solution I suggested back in January to measure a large number of temperatures.
Each of these sensors has the equivalent of a unique MAC address that is 8 bytes long, and the sensors can be hot swapped on the bus. I'd like an operator to be able to retrieve these. I can easily have the Arduino scan the bus and create a list of addresses. I'm just not sure how to get that info back to the IOC.
I know I can create individual stringin records for the 1st, 2nd, 3rd. etc. address that was scanned, up to a defined maximum limit of temperature sensors, and have the Arduino return these as hex formatted strings. But I'm wondering if there's a better way.
Ideally, I'd like it to be returned as an array of type stringin. But I don't know if such a thing exists in EPICS, or if it does, how to pass it through asyn.
I can't return it as a single space or comma delineated string either, since I exceed the 40 character limit with 3 devices.
I considered trying to pass these in binary form and convert it as hex for operator display, but I don't know if a 64 bit datatype exists.
Is this something that a waveform record could do? If so, could CSS Boy display this as some kind of box or list of strings?
Thanks, RyanP.S. Latest EPICS controlled beer brewing update: As I mentioned last September, I had been stalled waiting for a CNC mill at a hackerspace to be repaired so that I could easily do precision drilling for the 60+ holes I need to mount jacks on a control box. The mill still doesn't work, but I found a better solution: a friend with a waterjet cutter. It made short work of cutting all those holes, as well as a panel insert for more DIN rails. So things are progressing.... Update here: http://www.mackenziegems.com/2016/02/21/cnc-beer-part-3-fusion-360-and-waterjet-overkill/