On Fri, Feb 26, 2010 at 9:13 AM, Pascal Baerten
<pascal.baer...@gmail.com> wrote:
> my thoughts within the text...
>
>
> 2010/2/26 Jim Kusznir <jkusz...@gmail.com>
>>
>> A PC is definitely more powerful, and its programming paradigms are
>> easier to address, true.  However, we've played those games in our OW
>> setup, and have been going back to the "do-it-on-hardware" side.  For
>> us, we have a large network of OW devices (often 50+), a PC software
>> suite written by a couple different people that needs to collect all
>> the data, and we're looking at control.  Of course, timeliness is also
>> an issue.
>>
> I consider that 1wire slaves should have autonomous capabilities where
> master play the role of orchestrator giving consigns to slaves and getting
> reports from them.

Our approach is slightly different.  We want the devices to tell the
master what they are, eliminating any site-specific custom
configuration for the OWFS master software.  For example, I do NOT
want to have to type in a list of OW serial numbers and that this
device is handled this way, etc.  Instead, I want the OW device to
tell the OW master what type of device it is (specifically), so then
the OW master knows how to handle it (the standard way all devices of
type/configuration X are).  I realize some people have smaller
networks and/or don't care, but there are larger networks, especially
when more people are involved, where it makes more sense to make the
devices able to identify themselves a bit better.


>> In addition, auto-identifying systems is important for us.  We have
>> several of these large-ish deployments, and often have limited time to
>> set them up.  We take great lengths to try and make the system as
>> automated as possible, especially in the setup phase.  To this end, we
>> use the EEPROM in the 2406's to burn in a device type ID to further
>> distinguish between the various devices we have that use 2406's.  If
>> we go to a microprocessor model to replace or provide input types not
>> available in dallas chips, it would also be critical that the chip
>> identify its function to the system.  That was a major headache we
>> have with the 2450 presently...We don't know how to treat its values
>> (we see we have 4 analog readouts now, but what are they?  Some we
>> only have A hooked up, we don't even care about B, C, or D...Others
>> have ranges on the various pins that mean different things and in some
>> cases we have to change how we read certain pins for precision, etc).
>> To us, hard-coding this at the PC is an absolute mess of a hack that
>> we wish to avoid.
>
> I proposed to Paul during development of BAE0910 to have the chip itself
> publishing field mapping to dynamically present fixed/configured features to
> owfs. But currently owfs don't support dynamic properties.

I'm not exactly sure on what 'dynamic properties' entails in this
case.  To be clear, I am NOT proposing the devices' properties change
while it is online.  I envision a situation where when the device
discovery is run, it finds a serial number with family code, say, 99.
OWFS knows that means its run with chip driver "uC", and that driver
knows to go read memory address xxxxx, parse the output, and then pass
on to OWFS the list of fields that are valid.  As long as that device
serial number remains on the network, that's all it exposes.  If one
wants to reconfigure it, the device goes offline, then gets
re-discovered and re-enumerated.  In my vision of this, the devices do
NOT change personality very often.  In fact, I envision many devices
never changing personality...but they can.  The more important aspect
to me is that I can load custom personalities on the device, and I can
keep one device on hand, and use that for many different applications,
including designing new hardware devices and prototyping.

It may also note that I don't intend on OWFS to support doing
conversions in the software (aka map this 0-5VDC number into a
temperature using this formula)...To me, that's part of a chip's
personality and job.  However, the chip can tell the OWFS driver that
'memory address xxxxx should be exposed as "Temperature1" and is
read-only; memory address yyyy is "heat_setpoint" and is read/write.'

>>
>> To this end, it seems to me that a wonderful solution would be a
>> microprocessor with a "base" code (USB flashed, etc) that would have
>> its OW ID and a basic "bootloader" code in it.  I could then select a
>> code function (either supplied by others or written by myself), and
>> "cat" it to the right OWFS "file" to program that personality.  I've
>> spoken to some local ATMEL experts, and they say that's very doable
>> with the atmel line of chips.
>>
>> I would also like to suggest that the code is available open source.
>> I've already encountered a few other commercial projects similar to
>> the BAE which have about 70% of what we need for a project or
>> experiment.  But, as the source is closed, our only option is to use
>> it as is, or pay them to develop what we want.  We already have the
>> programmers on staff who are more connected with the problem and have
>> the proper environment to test, so it doesn't make sense to pay for
>> their development services.  Much of what we do will be highly custom,
>> so source access is very important to us.
>
> BAE chip are already able to receive AE script to embed your specific logic.

The problem with this is:

1) the chip is not the right chip for me (as far as I/O is concerned).
 If I had the code, I could adapt it to a more appropriate
microprocessor for my needs

2) the code is too rigid for my needs and misses other things I need
(such as a "RAM" field or similar to simply put in a free-form ID that
my software will use to identify what role this device is serving".

3) the "swiss army knife" design of the BAE chip violates several
aspects of the project's core goals (simplify, simplify, simplify),
and would be difficult/confusing to implement in our code (do we
access this chip via the pwm, or do we do a2d on it?  I don't know,
the chip supports it both, and via OWFS, simultaneously...).  If we
were to use the BAE, we'd have to decide what function it would serve,
and never use it for anything else.  That's why I'm stressing the
configurability of the chips...We can only put in support for the
function we need, and the other functions the microprocessor might be
capable of wouldn't even show up in OWFS nor would there be any device
code to use them on that device.

--Jim

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to