Hi Colin,
I wonder if OWFS can already do what you want. If not, I have some ideas.
OWFS has a "simultaneous" command to trigger temperature conversion.
1. It works on all the sensors on a bus, using the trick that there is a
command to select the single slave on a 1-slave bus (for efficiency) but
that will actually select them all.
2. The sensors do need external power because temperature conversion is
power hungry and running many simultaneously can tax the data bus,
especially if other communication is being done.
3. OWFS remembers the time of the "simultaneous" and will wait "long
enough" before returning a temperature reading when temperature reading is
attempted. (A "blocking read" in other words).
4. Not all temperature sensors are involved. Many read temperature
continuously (Like DS2438, and 3rd party sensors) and all this fuss is
irrelevant.
You wanted to specify a list of sensors to do "conversion" on, rather than
all of them I guess. Is there a mix of passive and active sensors? Are you
worried about the total power budget or self-heating?
1. The command will be slower that the current "simultaneous" since each
sensor must be addressed independently.
2. I don't see an elegant way of implementing the interface to such a
command.
A. We could have a separate "start" temperature reading. We'd need a
separate timer for each and still "block" if read too early (or restart if
read too late).
B. We could write a list of slave addresses to a "convert" file, then
read the sorted results from another linked file, but this really bends our
syntax. (Variable-length fields). Doable, though.
Have you considered another approach? Use the threaded nature of OWFS and
just issue reads for each of your sensors in separate threads. Each will
return when done. They can run concurrently if the sensor is powered.
Paul Alfille
On Thu, Jul 10, 2014 at 2:09 PM, Colin Reese <colin.re...@gmail.com> wrote:
> Hello,
>
> After talking with iButtonLink, it was brought to my attention that without
> additional power, it is possible to have unsuccessful simultaneous read if
> too many sensors are on the network, due to current draw during the
> conversion.
>
> Using the TMEX API, I can perform a match ROM and then issue a conversion
> command, and then come back later to read the converted value. This way I
> can issue conversion commands for, say, 20 ROMs without waiting for
> conversion more than once.
>
> Is there an analogous feature in owfs, e.g. a 'simultaneous' with a
> specified group of ROMs?
>
> Thanks,
> Colin
>
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
>
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers