netmaster19 / libxbee

Automatically exported from code.google.com/p/libxbee
0 stars 0 forks source link

add serieal communication commands #5

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
I am using also the commands to send serial data to and from the xbee module in 
my application. I added the following commands to your library (0x10+0x8B and 
also the 0x90), but I like to keep in sync with your main tree.  Are you 
planning to add these commands yourself?

What version of the product are you using? On what operating system?
I have so far used version 395 of your library.

Original issue reported on code.google.com by karl.dri...@gmail.com on 30 Nov 2010 at 12:49

GoogleCodeExporter commented 8 years ago
Hello,

Are you using Series 2 radios? I am hoping to get round to implementing some 
support for these radios, as currently the only support is found where the 
functionality of Series 1 and Series 2 match.

Can you let me know what these 3 commands do?
If you are using Series 1 radios, I can't find any info in the documentation!

Original comment by g@attie.co.uk on 30 Nov 2010 at 1:11

GoogleCodeExporter commented 8 years ago
PS. I have had a look at previous tickets (hello!) and at the datasheet.

If you are confident that adding these commands doesn't harm support for series 
1 radios, could you please upload either a diff of your libxbee directory, or 
upload any changed files (e.g. api.c)

Thank you

Original comment by g@attie.co.uk on 30 Nov 2010 at 1:18

GoogleCodeExporter commented 8 years ago
Hi,

I am indeed using series2.

the commands are documented in 90000976_G.pdf (digi website).
In short:
- 0x10 sends data out of the xbee module (TX)
- 0x8B is a local acknowledge if the data is send out
- 0x90 is received data comming in on the xbee module (RX).

I have the code available for version 395.  If you like I can share it.

Original comment by karl.dri...@gmail.com on 30 Nov 2010 at 1:34

GoogleCodeExporter commented 8 years ago
yes please!

Original comment by g@attie.co.uk on 30 Nov 2010 at 1:51

GoogleCodeExporter commented 8 years ago
Please find attached the 2 files I modified:

So far I only added things (except that I used API mode 1), so I think it does 
not harm the series1 stuff.

I am currently busy integrating it into your latest version, but maybe you can 
help me as it seems to have quit some diffs according to version 395 which I 
used before.

Kind regards,
Karl.

Original comment by karl.dri...@gmail.com on 30 Nov 2010 at 3:07

Attachments:

GoogleCodeExporter commented 8 years ago
Hi,

I made a small mistake stating that the code I have send you was working
well.
For some reasons it was still using the old library.  But now I have
everything working.

I also needed to modify the function " xbee_endcon2".  In the old code the
"conlist" was set to 0 in case the list was empty.
This was not in in the latest version, which resulted in a sementation fault
when a new connection was created after a 1st one was destroyed.

void _xbee_endcon2(xbee_hnd xbee, xbee_con **con, int skipUnlink) {
...
    /* extract this connection from the list */
    u->next = t->next;
        if (*con == xbee->conlist) xbee->conlist = NULL;    <<<<<ADDED!!!
...

Please find atteched my latest api.c

Kind regard,
Karl.

Original comment by karl.dri...@gmail.com on 1 Dec 2010 at 12:44

GoogleCodeExporter commented 8 years ago
Hi Karl
Thanks for mentioning that bug! woops...
I have fixed it, unfortunately your fix didn't take into account all 
possibilities (you would loose all connections by ending the first one), so I 
have implemented it properly.
see r450 for more

I am definitely going to get around to implementing support for the series 2 
radios soon, as I am hoping to use them in a project. Are you happy to continue 
using your modifications for now?

Cheers,
Attie

Original comment by g@attie.co.uk on 1 Dec 2010 at 1:25

GoogleCodeExporter commented 8 years ago
Hi Attie,

I am more then happy to make my modifications myself.  Can you have a look
into my modifications and tell me if things are done as you like to have it
in future also?  I for example defined my own defines and maybe you have
some better names for them.

I will try to keep in track with your development, such that integrating is
done more easely.

If there is aything I can help with, please let me know.

Original comment by karl.dri...@gmail.com on 1 Dec 2010 at 1:44

GoogleCodeExporter commented 8 years ago
Thanks very much Karl,

I am already mulling over in my mind how to implement the s1 / s2 compatibility.

I think that perhaps a struct, populated by default with s1 commands is the 
best way.
This struct can then be filled out with s2 commands when needed, and adds the 
compatibility without any special runtime logic that would take precious time.

My next major commit will probrably include something along these lines. I 
shall keep you informed!

Original comment by g@attie.co.uk on 1 Dec 2010 at 1:48

GoogleCodeExporter commented 8 years ago

Original comment by attie@attie.co.uk on 14 Jan 2011 at 9:38

GoogleCodeExporter commented 8 years ago
See http://code.google.com/p/libxbee/issues/detail?id=4&can=1

Original comment by attie@attie.co.uk on 18 Apr 2011 at 7:18