Am Mittwoch, 6. Dezember 2006 01:14 schrieb Paul Alfille:
> Currently, the only aggregate we support is the TAI-8570 barometer, which
> uses 2 DS2406. In that case, the DS2406 memory is used to point to the
> partner chip, so the aggregate can be "autodiscovered". There is certainly
> an appeal to autodiscovery. The barrier to entry and use is much lower.
>
As Eric pointed out, there aren't so many chips with EPROM or EEPROM on board, 
and I don't like the idea to incorporate such a chip into any design I do. 
They are fairly expensive (e.g. DS2406 costs €1.92+VAT per chip if you take 
500pcs), and this price has to be payed by the end user.


> (That is why humidity is present for the DS2438, even though not all chips
> are part of such a device).
>
Same with LCD_x for the DS2408.



> The database of aggregates needs
> 1. unique ID
> 2. vendor/type
> 3. component IDs (Perhaps in some specific order)
> 4. Optional parameters/calibration constants
>
> There is some appeal to having the database accessible/modifiable/savable
> within OWFS, though that  is a design decision that can go either way.
>
If we use e.g. an sqlite database, we won't need the ability to modify the 
database in the owlib code. There are many tools out there which could handle 
sqlite databases.

Plus, it's an SQL database engine with many language bindings, so helper 
programs could be scripted easily. The database engine is a small-footprint 
one, so it could be incorporated even in NSLU2 type devices.

If Eric favours this approach for the hobby-boards, too, we have at least two 
vendors which will support a global aggregate database, so the inconvenience 
for the user could be quite low.



> We also need a policy on whether components can be seen/addressed/changed
> outside of the aggregate.
>
Having both would be straightforward, but I think there will be additional 
problems with aggregate states if the chips could be addressed outside the 
aggregate. I would put a note like "If you mix both modes, results may be 
undefined" and leave it to the user.

And there has to be some indicator whether the aggregate is detected as a 
whole or some chips are missing.



> For the multi-level design of OWFS (owfs -> owserver for example) it
> becomes a little more complex as to which process needs to know about the
> aggregate. The level with the actual physical adapter might make the most
> sense.
>
As a final goal, aggregate routines may offer timing or simple if-then 
decisions within the same aggregate, or even different aggregates. That would 
help much in simplifing the software on top of owfs.


I favour a plugin concept for such aggregate routines, so the aggregate logic 
could be separated from the owlib core.


Kind regards

        Jan
-- 
We are Pentium of Borg. Division is futile. You will be approximated.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to