Am Dienstag, 14. März 2006 09:15 schrieb Evgeniy Polyakov:
> > >
> >
> > For such applications as mine, it would be better to have more control
> > over which chips are "interesting" in some situation, and should be
> > updated more often and which are not. Maybe you (or we) can put some
> > "rating" on each chip, and an interface for the application program.
> >
> >
> > Or did I misunderstood your wohle concept?
>
> Repeated search is needed for authentification cases and ibuttons.
> It also helps to detect bad lines.
>
> Current design allows to setup w1_master_search per bus master device,
> so in case of auth checks and big number of devices it would be better
> to setup two masters for each kind of usage case.
>
Yes, I already though about that case too - but with OWFS, a DS2409 chip and 
branch switching would fit that requirement, too. As you already implemented 
the DS2482-800, you'll know the trick. For this chip, partitioning of the 
host would be very useful. (I just don't want to sacrifice another USB or 
RS232 port on my machine - they are a just as useful as onewire.)


But that's not what I mean. There is no fixed update scheme for two or three 
groups of onewire chips (like one 5s group and one 250ms group e.g.) in my 
application.


My vending machine has a lot of solenoid valves and flowmeters. They are never 
used all at the same time but rather in changing groups of two or three. The 
other devices are idleing. Then an action is requested by the application 
program, and for about 10..20s, some of the chips have to be controlled with 
250ms timeslice. Next time, it could be another group of chips which have to 
be updated more often for 10..20s.
Then, I have ~20 keyboard modules, each with 2 DS2408 on it, which have to be 
updated ~1s.


For isochronous transfer, that would mean (100 bits/chip thumb value):
 4xiButton/1s:    1200 bits/s ( 4 Keylocks, ~300 bits for scanning per lock)
40x DS2408/1s:    4000 bits/s (20 PCBs each with   2 DS2408 -> 20 keyboards)
 6x DS2408/250ms: 2400 bits/s ( 6 PCBs each with one DS2408 -> 48 valves)
24x DS2423/250ms: 9600 bits/s ( 6 PCBs each with   4 DS2423 -> 48 flowmeters)
----------------------------------
                17200 bits/s  OUCH!

And that's a medium size machine.


But for my application (and I think a lot of other machines), I only need
 4xiButton/1s:    1200 bits/s ( 4 Keylocks, ~300 bits for scanning per lock)
40xDS2408/1s:     4000 bits/s (20 PCBs each with   2 DS2408 -> 20 keyboards)
 3xDS2408/250ms:  1200 bits/s (3 valves on 3 different PCBs at a time)
 3xDS2408/250ms:  1200 bits/s (3 flowmeters on 3 different 1W chips at a time)
----------------------------------
                  7600 bits/s  OK!

And this would be independent from the machine's overall size, as the 
user-level code could easily limit the number of valves that are allowed to 
be controlled at the same time.


That's why I came up with the idea of having an application-controlled update 
scheme. The update frequency could be determined by the kernel automatically, 
too - chips which are read out more often by an application are updated more 
often. I can't measure the effort needed to implement this, though.

Kind regards

        Jan Kandziora

-- 
"...Deep Hack Mode -- that mysterious and frightening state of
consciousness where mortal users fear to tread.
                -- Matt Welsh


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to