Software and Documentation

Applications

It’s relevant to discuss my application and desires for the kit before continuing.

Unified Remote

Like many people I’ve dropped my cable subscription. I don’t actually watch TV (which is why I have time to write this blog) and my family watches rarely. I do watch movies and we have a media room with a TV projector, computer, and 5-channel audio system. The audio receiver and computer are in a closet off the media room and there’s no visible connection – no way to use infrared.

So, what I’m looking for is a way to control the computer and receiver using a wireless remote so that to my family it’s seamless. I have a bluetooth keyboard and mouse with limited range that’s honestly a pain in the butt (who wants to sit there and mouse over and click the pause button on-screen?). Plus, it doesn’t control the receiver.

XBee Substitute ?

I’d also like to consider the USB stick as an XBee substitute.  The CC2531 board/stick is not only really compact (2/3 the size of an XBee) but it’s easily programmable so it can do more sophisticated stuff than just sense state and turn bits on/off. I’m not sure how much bandwidth is left after the Zigbee portion, however – it is an 8-bit processor. The real sticking point here is the IAR compiler (more on that later) and so I’m looking at creating something much like the reprogrammed Funnel I/O board with simple on-air download and a real usb programming interface that doesn’t take much to customize.

Hardware Documentation

The RemoTI kit comes with a raft of online documentation and software. So much that it’s hard to characterize. The feel of the package is one of quality compared with every other kit I’ve used. The doc is extensive and the software is extensive. I won’t know until I start reprogramming this stuff whether it really covers the bases. That’s part 3…

Here’s a sample page from the inclusions in the kit.

The use of color and pictures and the simplicity and clarity of the instructions are head and shoulders above anything else I’ve seen.

In addition to the few pages included with the kit, there’s a large quantity of online doc in pdf format. I wish TI wouldn’t number all their doc anonymously since it’s tough to file away – all of their doc is named things like swru196.pdf and swru208a.pdf.

Here’s a page capture of the USB stick documentation. All I can say is Wow.

Itemizing the hardware documentation I’ve downloaded:

  • USB Stick hardware manual
  • Development kit user’s guide
  • Debugger quick start
  • Developer’s guide
  • Network processor developer’s guide
  • Zigbee stack (ZStack) developer’s guide
  • SmartRF Flash programmer guide

In addition to the pdf guides, there are schematics and layouts (using Zuken’s CADSTAR) of most of the hardware. Note the layout for the usb stick is not trivial – it uses multiple layer boards and the substrate is important because the stick antenna requires the right composition to work as designed.

Software Documentation

There is a lot of embedded software here. There’s firmware in the remote control, the daughter board, and the usb stick. Note that the supplied firmware is RF4CE, not Zigbee HA. RF4CE is a yet-another Zigbee specification that is similar to bluetooth in that it’s designed for paired consumer electronics stuff. Converting to Zigbee HA for the usb stick takes reprogramming the firmware.

TI supports an active forum for the RemoTI (and zigbee). It’s nice seeing the manufacturer get involved in this.

There is a fair amount of sample application documentation (and code) but as you start getting into it you’ll note it was written by non-native-english speakers. The doc reads like this:

RemoTI development kit provides network processor, which interfaces with a host processor. In such a configuration, host processor application controls the network processor to perform pairing, sending and receiving data over the air. 

In addition to being stilted this isn’t accurate the since the development kit uses a single-chip solution. The software architecturally acts like there are two processors, but there aren’t.

So far I’ve only compiled one sample application (the simple console, which you pretty much have to build) but it compiled flawlessly – again Wow. [Amazing how simple things seem really great when compared with the competition].

I’ll get into software doc a lot more once I start really reprogramming.

Software Downside

There is one huge downside to the firmware for the development kit. All of the ZStack and RF4CE stack require using the IAR compiler. The TI zigbee stack is not open source. Some of the code is available, but much of it comes as libraries that require the IAR compiler and the IAR compiler is expensive. Totally out of hobbyist range. There’s a 30 day eval – just enough time to realize it’s not enough time.

IAR offers a freebie compiler for hobbyists but the 4KB code size limitation makes it unusable for the ZStack. Their ‘real’ compiler costs upwards of $3,000 and uses a usb dongle (blech).

Here’s the semi-official comment on why IAR only and not ‘full source’. This is moderately logical but whatever you think, here’s what you get. In fairness, no one else offers anything more than this, and some offer substantially less. This is from a post on their forum and I’d assume not ‘official’.

The Z-Stack is not available for other compilers due to several reasons:
-          Providing the Z-Stack in full source makes it impossible to support it as customers could accidentally/intentionally alter important parts of the code that should not be touched.
-          Testing the Z-Stack with its many variants/features for all supported HW platforms for several compilers would take too much time and delay releases significantly.
-          TI wants to protect its Intellectual Property as the Z-Stack is one of the leading ZigBee platforms on the market.

First look

Here’s a screen shot of the simple console application provided by TI. I’ve been unable to find the source for this, and what TI delivers labeled as the Simple Console isn’t. It also only runs in windows XP so I’m running the Microsoft XP Mode application (essentially virtual PC).

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>