EmbeddedRelated.com
Forums

xbee_api.lib and other associated files in Dynamic C 9

Started by malanovo July 19, 2013
I have an old RCM3710 module I picked up a long time ago that I just recently started playing with for hobbyist microcontroller projects. I was going to play around with XBee connectivity, and although the Digi website offers a link to the "Dynamic C - An Introduction to ZigBee" PDF in the documentation section for Dynamic C 9, it would appear that the necessary xbee_api.lib file does not exist in any of the Dynamic C 9 distributions. Is it simply not an option for the RCM3xxx modules to use Digi's XBee library, or is there some trick that needs to be done to pull the needed files out of Dynamic C 10 instead?

On a related note, are the RCM modules in general the right path to be taking for hobbyist purposes? I haven't liked the other platforms I've looked at (Arduino and Basic Stamp) quite as much as I like the Rabbit, and I'm fine with writing code to interface with various external devices when necessary, but at the same time I'd like to keep it to a minimum when it comes to things like XBee modules. Are the Rabbit modules less hobbyist-friendly, or is it just a matter of me needing to buy a more current module?

You might want to go with a more recent module so you can use Dynamic C 10. There were a lot of improvements to the compiler, including support for far memory addressing, and a lot more of the ANSI C standard (in both the compiler and Standard Library).

I haven't been a fan of the Arduino either, and although I'm not doing much embedded work lately, I'm very curious about the BeagleBone and Raspberry Pi platforms. They both run embedded Linux, so it's a different kind of embedded than you'd get with Rabbit, but the price looks good.

The XBee code shipping in later versions of Dynamic C 10 was released as Open Source on GitHub, and is available for other platforms as well (Freescale HCS08, POSIX, Win32, DOS). My fork (https://github.com/tomlogic/xbee_ansic_library) includes support for the new Wi-Fi XBee module. If you wanted to play around with the code, you can start on your PC and then port to an embedded platform (BeagleBone/Raspberry Pi are POSIX and can make use of that library).

-Tom
On Jul 18, 2013, at 10:41 PM, malanovo wrote:
> I have an old RCM3710 module I picked up a long time ago that I just recently started playing with for hobbyist microcontroller projects. I was going to play around with XBee connectivity, and although the Digi website offers a link to the "Dynamic C - An Introduction to ZigBee" PDF in the documentation section for Dynamic C 9, it would appear that the necessary xbee_api.lib file does not exist in any of the Dynamic C 9 distributions. Is it simply not an option for the RCM3xxx modules to use Digi's XBee library, or is there some trick that needs to be done to pull the needed files out of Dynamic C 10 instead?
>
> On a related note, are the RCM modules in general the right path to be taking for hobbyist purposes? I haven't liked the other platforms I've looked at (Arduino and Basic Stamp) quite as much as I like the Rabbit, and I'm fine with writing code to interface with various external devices when necessary, but at the same time I'd like to keep it to a minimum when it comes to things like XBee modules. Are the Rabbit modules less hobbyist-friendly, or is it just a matter of me needing to buy a more current module?
I looked through the latest Mouser catalog at the newer Rabbit modules, but it doesn't seem like there's anything that is a direct replacement for modules in the RCM3xxx line. I don't need Ethernet, and it wasn't immediately clear to me if the newer modules also were 3.3V with 5V tolerant I/O. I'll have to read the specs more closely, unless someone can suggest a direct path up from the RCM3710 I have presently (or maybe things in the RCM36xx line, since I don't need the Ethernet port that exists on the RCM3710).

Thank you for the link to your XBee library fork. That looks like it should make for some good reading, and would give me some other development options on different platforms. I'm sort of shying away from running an embedded Linux device, even though the Raspberry Pi looks like a good deal. I spend enough time on Linux as a part of my employment, it seems like doing any more development for it would be too much like my job. Though to be fair, I haven't tried developing for any embedded Linux as of yet, so maybe it'd be different enough that I would still find it enjoyable. I think I'm pretty much fixated on at least building one complete project with the Rabbit module I have. No sense wasting capable hardware if I have it.
--- In r..., Tom Collins wrote:
>
> You might want to go with a more recent module so you can use Dynamic C 10. There were a lot of improvements to the compiler, including support for far memory addressing, and a lot more of the ANSI C standard (in both the compiler and Standard Library).
>
> I haven't been a fan of the Arduino either, and although I'm not doing much embedded work lately, I'm very curious about the BeagleBone and Raspberry Pi platforms. They both run embedded Linux, so it's a different kind of embedded than you'd get with Rabbit, but the price looks good.
>
> The XBee code shipping in later versions of Dynamic C 10 was released as Open Source on GitHub, and is available for other platforms as well (Freescale HCS08, POSIX, Win32, DOS). My fork (https://github.com/tomlogic/xbee_ansic_library) includes support for the new Wi-Fi XBee module. If you wanted to play around with the code, you can start on your PC and then port to an embedded platform (BeagleBone/Raspberry Pi are POSIX and can make use of that library).
>
> -Tom

The 4000/5000/6000 modules are not 5V tolerant. They are strictly 3.3v.
>________________________________
> From: malanovo
>To: r...
>Sent: Friday, July 19, 2013 2:55 PM
>Subject: [rabbit-semi] Re: xbee_api.lib and other associated files in Dynamic C 9
>

>
>I looked through the latest Mouser catalog at the newer Rabbit modules, but it doesn't seem like there's anything that is a direct replacement for modules in the RCM3xxx line. I don't need Ethernet, and it wasn't immediately clear to me if the newer modules also were 3.3V with 5V tolerant I/O. I'll have to read the specs more closely, unless someone can suggest a direct path up from the RCM3710 I have presently (or maybe things in the RCM36xx line, since I don't need the Ethernet port that exists on the RCM3710).
>
>Thank you for the link to your XBee library fork. That looks like it should make for some good reading, and would give me some other development options on different platforms. I'm sort of shying away from running an embedded Linux device, even though the Raspberry Pi looks like a good deal. I spend enough time on Linux as a part of my employment, it seems like doing any more development for it would be too much like my job. Though to be fair, I haven't tried developing for any embedded Linux as of yet, so maybe it'd be different enough that I would still find it enjoyable. I think I'm pretty much fixated on at least building one complete project with the Rabbit module I have. No sense wasting capable hardware if I have it.
>
>--- In mailto:rabbit-semi%40yahoogroups.com, Tom Collins wrote:
>>
>> You might want to go with a more recent module so you can use Dynamic C 10. There were a lot of improvements to the compiler, including support for far memory addressing, and a lot more of the ANSI C standard (in both the compiler and Standard Library).
>>
>> I haven't been a fan of the Arduino either, and although I'm not doing much embedded work lately, I'm very curious about the BeagleBone and Raspberry Pi platforms. They both run embedded Linux, so it's a different kind of embedded than you'd get with Rabbit, but the price looks good.
>>
>> The XBee code shipping in later versions of Dynamic C 10 was released as Open Source on GitHub, and is available for other platforms as well (Freescale HCS08, POSIX, Win32, DOS). My fork (https://github.com/tomlogic/xbee_ansic_library) includes support for the new Wi-Fi XBee module. If you wanted to play around with the code, you can start on your PC and then port to an embedded platform (BeagleBone/Raspberry Pi are POSIX and can make use of that library).
>>
>> -Tom
>
>
>