The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: Re: Floorplan Sripting Help


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

RE: Help with bsc


  • Subject: RE: Help with bsc
  • From: "Ian Davidson" <ian@xxxxxxxxxxxxxxxx>
  • Date: Tue, 9 May 2006 06:57:29 +0100

------_=_NextPart_001_01C6732D.74EE4A0F
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

Hi Lehane

=20

Thanks for the pointers. I have seen your website and HA diagram and
must say I do like the setup.

=20

I also have a xAP Netiom and have seen the messages it generates, it
works very well indeed.=20

=20

I guess I had better keep programming has it is obviously possible to
achieve what I require as you have already shown with your lcd
lightswitch. I was using an 18f252 but I have since upgraded and I'm now
using an 18F8722 which has more memory, so no excuse!

=20

I think the hardest part is writing the code to match to any of the
target names in my case 32 different names, can you give me any pointers
as to how to structure the code to best achieve this.

=20

I already have the Pic controlling some of the colour kinetic RGB lights
via DMX and it can also read a DMX stream as well as a few other bits
but I must get the xAP side sorted before I move any further.

=20

Again Thanks

=20

Ian D=20

=20

=20

=20

________________________________

From: xap_automation@xxxxxxx
[mailto:xap_automation@xxxxxxx] On
Behalf Of Lehane Kellett
Sent: 08 May 2006 22:46
To: Ian
Subject: Re: [xap_automation] Help with bsc

=20

Hi Ian,
I've written some BSC code for the PIC, so may be able to help.




I am trying to write some code for a Pic based unit which has 16 inputs
and 16 outputs (sort of). I want the code to be as simply as possible
and not take up too much room in the Pic. I have been looking at the UID
field which makes sense. However, it appears the UID field in a header
refers to the source and not the target. To decode an XAP message
targeted at my device am I correct in thinking I need to capture and
match the target line. If so this is not an issue if I only need to
match to the device i.e. gforce9.lighting.upstairs:> and then use the
body to identify which sub address is being targeted. But do I have to
implement the matching of all the sub addresses on the target line i.e.
gforce9.lighting.upstairs:output1.

The UID is from the source in the message you receive. Whether you use
it or not is up to your implementation - in mine I don't inspect the
UID.

In the messages you generate then you need to create a UID for each
endpoint.

Yes, you'll need to do all of the standard xAP address message matching,
including checking for errors where the endpoint in the target doesn't
match the ID=3D field in the message and the wildcard matches. In your
example gforce9.lighting.upstairs:output1 may be ID=3D1 in the message
body, depending on how you map the subaddress to the ID=3D node(endpoint)
id. If your base UID where FF123400 then your source address (the one
you send) relating to node 1 would be FF123401.





=20

Again I can do this if the sub addresses are only output01 to output16
and the same for the inputs. It would very much eat up my code space if
this can be changed to any name though. I understand it is not as user
friendly to say: output01 as apposed to: bedroom.light1 but as I said
code space is vanishing fast.

Are you using PIC18F's? I have an Ethernet implementation of an LCD
lightswitch, including 3 level 4x20 LCD buffer in a PIC18F452. The xAP
Netiom runs in a PIC18F4525. Should be enough RAM for a small table of
mappings in an 18Fxxxx.

Do you even need friendly names for the subaddresses? 01,02,03, etc are
just as good given you'll probably be putting them in/out of a BSC
mapper.




=20

I also need to know the maximum length the target field can be in total
and for each segment. I am sure it must be in the doc's but I couldn't
find it. I am also unclear on the exact makeup of the address field, I
understand the usual makeup of the address as a.b.c followed sometimes
by :d but I also see a.b.c.d and also a.b.c:d.e. What is the maximum
number of sections (full stops) and is everything d and onwards taken to
be a sub address.

128 bytes is the maximum length of an address line - but even that's a
bit long in a small PIC. However, there are some implementations with
Dallas serial numbers as part of the address........... so even if you
can't handle that length you'll either need to filter in the serial
bridge or handle the error gracefully.

You'll probably want to read the xAP specs again - they are pretty clear
on the a.b.c:d  etc addresses.
For example, in my .NET DMX implementation I have:

mmwave.dmx512.g8kmh_p4:house.upperfloor.bedrooom1.wall1

Which allows control at many levels - I can turn on/off or dim all of
the house lights with a simple command, or just the bedroom, or just one
light.

There are currently 48 DMX channels in the house, so you'll see why it
is useful.



=20

Sorry for all the questions but I have got a basic parser section
working and I would like to finish it off but I don't want to head off
in the wrong direction.

I took me a while to get to grips with BSC, check the developer
archives!

Lehane=20

SPONSORED LINKS=20

Workflow automation
<http://groups.yahoo.com/gads?t=3Dms&k=3DWorkflow+automation&w1=3DWorkflow+=
aut
omation&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+auto=
mat
ion&w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3DF4tR=
NBO_G_Z
zajQmbmwe7Q>=20=20

Automation equipment
<http://groups.yahoo.com/gads?t=3Dms&k=3DAutomation+equipment&w1=3DWorkflow=
+au
tomation&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+aut=
oma
tion&w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3D9-e=
liEiH2r
HCvwCe6xpvLw>=20=20

Industrial automation
<http://groups.yahoo.com/gads?t=3Dms&k=3DIndustrial+automation&w1=3DWorkflo=
w+a
utomation&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+au=
tom
ation&w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3DxI=
5A0mNml
PHiPI__bxZwUQ>=20=20

Test automation
<http://groups.yahoo.com/gads?t=3Dms&k=3DTest+automation&w1=3DWorkflow+auto=
mat
ion&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+automati=
on&
w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3DbabdTZ-c=
Z8AbgxQ
RUJqztw>=20=20

Sales automation
<http://groups.yahoo.com/gads?t=3Dms&k=3DSales+automation&w1=3DWorkflow+aut=
oma
tion&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+automat=
ion
&w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3D-x7c78R=
B2nUpuP
BRifr1YA>=20=20

Factory automation
<http://groups.yahoo.com/gads?t=3Dms&k=3DFactory+automation&w1=3DWorkflow+a=
uto
mation&w2=3DAutomation+equipment&w3=3DIndustrial+automation&w4=3DTest+autom=
ati
on&w5=3DSales+automation&w6=3DFactory+automation&c=3D6&s=3D145&.sig=3DzQtSN=
D_pDmyn
0UaMn4LPgQ>=20=20

=20

________________________________

YAHOO! GROUPS LINKS=20

=20

*	 Visit your group "xap_automation
<http://groups.yahoo.com/group/xap_automation>
" on the web.
=09=20=20
*	 To unsubscribe from this group, send an email to:
xap_automation-unsubscribe@xxxxxxx
<mailto:xap_automation-unsubscribe@xxxxxxx?subject=3DUnsubscribe>=20
=09=20=20
*	 Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service <http://docs.yahoo.com/info/terms/>
.=20

=20

________________________________


------_=_NextPart_001_01C6732D.74EE4A0F
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40";>

<head>
<meta http-equiv=Content-Type content="text/html;
charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered
medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="City"/>
<o:SmartTagType
namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<o:SmartTagType
namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
color:black;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:blue;
text-decoration:underline;}
tt
{font-family:"Courier New";}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:Arial;
color:navy;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:969672423;
mso-list-template-ids:310677594;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level1 lfo2
{mso-level-start-at:0;
mso-level-numbering:continue;
mso-level-text:\F0A7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=EN-GB link=blue vlink=blue>



<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi
Lehane<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks for the pointers. I have
seen your website
and HA diagram and must say I do like the
setup.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>I also have a xAP Netiom and have
seen the
messages it generates, it works very well indeed.
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>I guess I had better keep
programming has
it is obviously possible to achieve what I require as you have already
shown
with your lcd lightswitch. I was using an 18f252 but I have since upgraded
and I&#8217;m
now using an 18F8722 which has more memory, so no
excuse!<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>I think the hardest part is writing
the
code to match to any of the target names in my case 32 different names, can
you
give me any pointers as to how to structure the code to best achieve
this.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>I already have the Pic controlling
some of
the colour kinetic RGB lights via DMX and it can also read a DMX stream as
well
as a few other bits but I must get the xAP side sorted before I move any
further.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>Again
Thanks<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'>Ian D
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span
style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font
size=3
color=black face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;
color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black
face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span lang=EN-US
style='font-size:10.0pt;
font-family:Tahoma;color:windowtext'> <st1:PersonName
w:st="on">xap_automation@xxxxxxx</st1:PersonName>
[mailto:<st1:PersonName
w:st="on">xap_automation@xxxxxxx</st1:PersonName>]
<b><span style='font-weight:bold'>On Behalf Of
</span></b>Lehane Kellett<br>
<b><span style='font-weight:bold'>Sent:</span></b>
08 May 2006 22:46<br>
<b><span style='font-weight:bold'>To:</span></b>
Ian<br>
<b><span
style='font-weight:bold'>Subject:</span></b> Re:
[xap_automation] Help
with bsc</span></font><font color=black><span
lang=EN-US
style='color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New
Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 color=black face="Times New
Roman"><span
style='font-size:12.0pt'>Hi Ian,<br>
I've written some BSC code for the PIC, so may be able to help.<br>
<br>
<br>
<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I
am trying to write some code for a Pic based unit which has 16 inputs and
16
outputs (sort of). I want the code to be as simply as possible and not take
up
too much room in the Pic. I have been looking at the UID field which makes
sense. However, it appears the UID field in a header refers to the source
and
not the target. To decode an XAP message targeted at my device am I correct
in
thinking I need to capture and match the target line. If so this is not an
issue if I only need to match to the device i.e.
gforce9.lighting.upstairs:&gt;
and then use the body to identify which sub address is being targeted. But
do I
have to implement the matching of all the sub addresses on the target line
i.e.
gforce9.lighting.upstairs:output1.<u1:p></u1:p></span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New
Roman"><span
style='font-size:12.0pt'>The UID is from the source in the message you
receive.
Whether you use it or not is up to your implementation - in mine I don't
inspect the UID.<br>
<br>
In the messages you generate then you need to create a UID for each
endpoint.<br>
<br>
Yes, you'll need to do all of the standard xAP address message matching,
including checking for errors where the endpoint in the target doesn't
match
the ID= field in the message and the wildcard matches. In your example
</span></font><font
size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>gforce9.lighting.upstairs:output1
may be ID=1 in the message body, depending on how you map the subaddress to
the
ID= node(endpoint) id. If your base UID where FF123400 then your source
address
(the one you send) relating to node 1 would be FF123401.<br>
<br>
<br>
<br>
</span></font><o:p></o:p></p>

<div>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'>Again
I can do this if the sub addresses are only output01 to output16 and the
same
for the inputs. It would very much eat up my code space if this can be
changed
to any name though. I understand it is not as user friendly to say:
output01 as
apposed to: bedroom.light1 but as I said code space is vanishing
fast.</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New
Roman"><span
style='font-size:12.0pt'>Are you using PIC18F's? I have an Ethernet
implementation of an LCD lightswitch, including 3 level 4x20 LCD buffer in
a
PIC18F452. The xAP&nbsp; Netiom runs in a PIC18F4525. Should be enough
RAM for
a small table of mappings in an 18Fxxxx.<br>
<br>
Do you even need friendly names for the subaddresses? 01,02,03, etc are
just as
good given you'll probably be putting them in/out of a BSC
mapper.<br>
<br>
<br>
<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'><u1:p></u1:p><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I
also need to know the maximum length the target field can be in total and
for
each segment. I am sure it must be in the doc&#8217;s but I
couldn&#8217;t find
it. I am also unclear on the exact makeup of the address field, I
understand
the usual makeup of the address as a.b.c followed sometimes by :d but I
also
see a.b.c.d and also a.b.c:d.e. What is the maximum number of sections
(full
stops) and is everything d and onwards taken to be a sub
address.</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New
Roman"><span
style='font-size:12.0pt'>128 bytes is the maximum length of an address
line -
but even that's a bit long in a small PIC. However, there are some
implementations with <st1:City w:st="on"><st1:place
w:st="on">Dallas</st1:place></st1:City>
serial numbers as part of the address........... so even if you can't
handle
that length you'll either need to filter in the serial bridge or handle the
error gracefully.<br>
<br>
You'll probably want to read the xAP specs again - they are pretty clear on
the
a.b.c:d&nbsp; etc addresses.<br>
For example, in my .NET DMX implementation I have:<br>
<br>
mmwave.dmx512.g8kmh_p4:house.upperfloor.bedrooom1.wall1<br>
<br>
Which allows control at many levels - I can turn on/off or dim all of the
house
lights with a simple command, or just the bedroom, or just one
light.<br>
<br>
There are currently 48 DMX channels in the house, so you'll see why it is
useful.<br>
<br>
<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'><u1:p></u1:p><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal
style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial'>Sorry
for all the questions but I have got a basic parser section working and I
would
like to finish it off but I don&#8217;t want to head off in the wrong
direction.<u1:p></u1:p></span></font><o:p></o:p></p>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
color=black
face="Times New Roman"><span style='font-size:12.0pt'>I
took me a while to get
to grips with BSC, check the developer archives!<br>
<br>
Lehane <o:p></o:p></span></font></p>





<!-- **begin egp html banner** -->

<br><br>
<div style="width:500px; text-align:right; margin-bottom:1px;
color:#909090;">
<tt>SPONSORED LINKS</tt>
</div>
<table bgcolor=#e0ecee cellspacing="13"
cellpadding="0" width=500px>
<tr valign=top>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Workflow+automation&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=F4tRNBO_G_ZzajQmbmwe7Q";>Workflow
automation</a></tt>
</td>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Automation+equipment&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=9-eliEiH2rHCvwCe6xpvLw";>Automation
equipment</a></tt>
</td>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Industrial+automation&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=xI5A0mNmlPHiPI__bxZwUQ";>Industrial
automation</a></tt>
</td>
</tr>
<tr valign=top>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Test+automation&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=babdTZ-cZ8AbgxQRUJqztw";>Test
automation</a></tt>
</td>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Sales+automation&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=-x7c78RB2nUpuPBRifr1YA";>Sales
automation</a></tt>
</td>
<td style="width:25%;">
<tt><a href="http://groups.yahoo.com/gads?t=ms&k=Factory+automation&w1=Workflow+automation&w2=Automation+equipment&w3=Industrial+automation&w4=Test+automation&w5=Sales+automation&w6=Factory+automation&c=6&s=145&.sig=zQtSND_pDmyn0UaMn4LPgQ";>Factory
automation</a></tt>
</td>
</tr>
</tr>
</table>

<!-- **end egp html banner** -->



<!-- **begin egp html banner** -->

<br>
<div style="text-align:center; color:#909090;
width:500px;">
<hr style="border-bottom:1px; width:500px;
text-align:left;">
<tt>YAHOO! GROUPS LINKS</tt>
</div>
<br>
<ul>
<tt><li type=square>&nbsp;Visit your group "<a
href="http://groups.yahoo.com/group/xap_automation";>xap_automation</a>"
on the web.<br>&nbsp;</tt>
<tt><li type=square>&nbsp;To unsubscribe from this group,
send an email to:<br>&nbsp;<a href="mailto:xap_automation-unsubscribe@xxxxxxx?subject=Unsubscribe";>xap_automation-unsubscribe@xxxxxxx</a><br>&nbsp;</tt>
<tt><li type=square>&nbsp;Your use of Yahoo! Groups is
subject to the <a href="http://docs.yahoo.com/info/terms/";>Yahoo!
Terms of Service</a>.</tt>
</ul>
<br>
<div style="text-align:center; color:#909090;
width:500px;">
<hr style="border-bottom:1px; width:500px;
text-align:left;">
</div>
</br>

<!-- **end egp html banner** -->


</body>

</html>

------_=_NextPart_001_01C6732D.74EE4A0F--



xAP_Automation Main Index | xAP_Automation Thread Index | xAP_Automation Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.