Skip to Navigation
Home
  • Company
    • Quick Facts
    • Board of Directors
    • Management Team
    • Press Releases
    • News Coverage
    • Newsletter
    • Careers
    • Articles
    • Ember Chronology
    • Contact Us
  • Products
    • ZigBee Chips
    • ZigBee Software
    • ZigBee Development Tools
    • Documentation
  • Buy
    • Digi-Key (Online)
    • Distributors
  • Applications
    • AMI & AMR
    • Integrated Home Automation
    • Building Automation
    • Others
  • ZigBee
    • About ZigBee
    • Ember & ZigBee
    • ZigBee FAQ
    • Download Specifications
    • ZigBee Events
  • Partners
  • Support
    • Training
  • Events
Home › FAQs

All FAQs

Where can I download the latest release of InSight Desktop, xIDE, or the EmberZNet stack?

All official software releases and documentation are available from the software area of this web site.

All developers who have a current maintenance contract (depending on your purchase details) should have access. If you do not have access to this area of the site please contact your FAE, sales representative, or distributor.

What is the maximum message length in secure and non-secure modes?

The attached doc explains header size and usage in various network layer.  As a summary:

max APS message no security: 100 bytes
==> mac payload(116) - network(8) - APS(8)

max APS message with network security: 82 bytes
==> mac payload(116) - network(8) - security (18) - APS(8)

Using the sensor-sink sample application shipped on my boards, the batteries died after only three days - what is happening?
The program pre-loaded on the node at shipment time is on all the time and does not duty cycle. With the receiver on all the time, the module runs at around 35.5mA current draw, and with 2xAAA batteries lasting about 2000 mAH, that's about 56 hours of battery life, which is about 3 days.
While you can run them on battery power for awhile to do some testing at different sites, for long-term installation in a battery-powered application you'll want to be using some kind of program that
How do I know how much RAM has been utilized by the application and whether I am exceeding the RAM capacity?

When building applications using xIDE for EM250, if you run over the RAM limit, the compiler will complain that you've exceeded the size for the particular segment that was too large. (Several segments are involved, as you'll notice in this explanation.) To find out what you've used so far, you'd need to open the list file (*.LST) for the final build output, scroll to the segment listing at the end, and add up the VAR, INIT, PSR, PCB, SIF, and SAV segments. (These are the ones stored in RAM as opposed to Flash.)

How to change transmit power of the radio in application code?

There are 2 ways to adjust transmit power in application code:

 

Option 1: Set tx power during netework form or network Join.

In emberFormNetwork() & emberJoinNetwork,() you can set tx power in API parameter EmberNetworkParameters::radioTxPower.

 

Option 2: Modify power setting at runtime

You can change the power setting at runtime by calling emberSetRadioPower(int8u power)

What is the application profile ID? Where do I get one?

The application profile ID, used when sending messages over a ZigBee Network, is unique for each application profile. It is requested from the ZigBee Alliance -- more information is available in the 053298r05ZB_AFG-Framework-Profile-identifier-database.pdf document.

Can I accidentally overwrite the bootloader with a large application image?

If you create an image that exceeds the size of any given flash segment, em2xx_ebl.exe will report an error and not create an EBL file.
Even if you somehow manage to create an image too large for the flash map used on the chip, the em2xx_load.exe program used to load code onto the device will report an error during program verification prior to any upload taking place.

Why does port 4901 on the InSight Adapter show bad data?

When connected to the InSight Adapter via telnet to port 4901, but my prints and the EM250 answers are gibberish, just like you get when you are connected with the wrong baud rate. How do I change the baud rate?

Try first:

You must configure the InSight Adapter baud rate to match the baud rate configured in the application -- this is because the InSight Adapter is just a translator between serial and telnet.
How often should I call emberTick()?

In lieu of app-specific, fully-qualified, field-tested recommendations, a recommendation for how often to call emberTick() is this:

-Call the function as much as possible to preserve stack timing and 802.15.4 MAC compliance. At minimum, this should be once per iteration of the application's main while{ } loop.

How do I know how much Flash is used by my application?

In EmberZNet EM250 stack releases 2.3 and higher, a utility called em2xx_ebl.exe runs in a post-processing step after the linker, turning your XPV and XDV files into a compressed binary format (EBL files) that the Ember Bootloader can read. In doing this, em2xx_ebl analyzes your code & data and reports the segment usage for the build's Flash usage.

What kind of libraries are available for the host processor to communicate with the EM260?

Ember’s EM260 Developer Kit and Jump Start Kit ship with an EM260 connected to an Atmel AVR ATmega32L*. We have defined an “EmberZNet Serial Protocol” or EZSP to speak with an

See Also: 
Which EM260 firmware image should I load? What are the feature differences between these?
Getting started with EZSP-UART
What is the difference between EZSP UART and EZSP SPI on the EM260?
End device vs. router vs. coordinator

Question: What is the difference between an end device, a router, and a coordinator? Do I need to use different stacks? Which chips support these modes of operation?

How do I compile my EM250 application with the debug stack?

Note: this topic is also covered in application note 5018.

In order to compile an EM250 application with the debug stack, you need to do the following items:

Endpoint vs. End Device: What's the difference?

End Devices are ZEDs and don’t route messages in the network. More on ZigBee Device Types: ZR, ZED, ZC.

Endpoints are logical extensions defined by the application that can be thought of as devices accessible through a single ZigBee radio. For example, a light switch attached to a radio might be one endpoint. A dimmer attached to the same radio might be another endpoint rather than a completely new application.  More on Endpoints.

What are the different levels of debug, what features are enabled, and how do I access them?

Overview

Before release 2.5.1, there were two levels of debug: debug off, and debug on. No debug was the default. To enable debugging, you needed to include the debug stack, define "DEBUG" globally, and include the debug versions of our stack libraries. (see the FAQ on how to enable debugging).

Since the 2.5.1 release, there is a third option called basic debug. This is now the default build option. Here is a summary of the three different debug options and how to access them:


NO DEBUG

How to decode EmberNet files in InSight Desktop? Why is my EmberNet trace file no longer readable in InSight Desktop?

The basic problem is that InSight Desktop files store information about the type of network being decoded. In ISD versions prior to 1.1.4, this information was not always stored correctly. Fortunately, there is an identified workaround to the problem. If you find that an EmberNet file will not properly decode in InSight Desktop, try the following steps:

 

1) Unzip the trace file (.wb or .isd). You may need to change the file extension to .zip so that Windows can properly handle the file type.

What do the different reset types mean, and why do we get them?

The reset types, as well as some documentation as to likely reason for occurrence, are listed in stack/include/ember-types.h. Also, this information is available under the "enumerator" section of our API document. As of 2.5.3, here is the list of reset types and their most likely cause(s).

RESET_UNKNOWN
The cause of this reset is unknown.

RESET_EXTERNAL
The RESET pin was pulled to logic low (0.0 V).

RESET_POWERON
The supply voltage was below the power-on threshold.

I need to use the UART at a rate other than what is supported. How can I specify a new baud rate?

First, the developer needs to determine if the baud rate is possible with the Em250. The BAUD rate generator is based on a 12 MHz clock (24 MHz main crystal divided by 2). To generate the correct BAUD rate, the developer needs to specify a divide ratio from 12 MHz to generate the correct bit rate. For example, if I wish to generate a 115.2 kbps BAUD rate, I would need to use a divide ratio of 12 MHz / 115.2 kHz = 104.

What is the interrupt priority on the EM250?

The interrupt priority is as follows (Highest to lowest):

Software interrupt
Watchdog
Protection fault
timer
gpio
adc
macrx
mactx
mactimer
security
sc2
sc1
sleep
baseband
sif

See Also: 
GPIO Interrupts and Buttons
Why did my router send an "End Device Announce Request"?
Question: I noticed in my log that I have a router that issued an "End Device Announce Request" and I thought that would only be sent by an end device. What's going on?

 

The "End Device Announce" is a bit of a misnomer... In fact, any time a ZigBee device establishes itself on the network with a particular node ID (network address), it emits one of these Device Announce packets to inform surrounding nodes that a new node ID is in use. This could happen for a number of reasons:

I found the function emberSendRawMessage() and it looks like I can use it to send and receive non-ZigBee messages. Is that true?

Unfortunately, it can't be used to send and receive non-ZigBee messages because EmberZNet does not have incoming message handler for raw messages so the stack will only recognize and pass up ZigBee messages.  It can be used to send non-ZigBee messages, but since the incoming handler is not implemented, it cannot be used in two-way communication.

Does the event handler take into account sleep time?

Question: I want to use the event handler to schedule events on a sleepy node. Does it automatically take the sleep time into account or do I have to manage something in my app?

emberInit() makes a call to halInternalInitAdc(). Why?

In addition to providing ADC channels for the user's application, the ADC is used by the stack to calibrate various radio parameters. None of the user-accessible ADC channels are affected by this use, so the GPIO configuration will not affect radio performance. However, halInternalInitAdc() must remain in the startup sequence (usually as part of halInternalInitBoard()) for the radio to function properly.

What options does EmberZNet provide for always-on devices that don't perform routing?
Some customers are interested in having devices in their network that may not necessarily be duty-cycling but for which a router device isn't necessarily preferable. This FAQ explains what options in EmberZNet 3.x exist for this kind of device behavior.

EmberZNet versions 3.0 and higher offer the following options for non-routing, always-on devices:


Non-sleepy End Devices

What does the em2xx_convert utility do?
This FAQ explains the purpose of the em2xx_convert.exe tool (known as em2xx_ebl.exe in older versions of xIDE).

When running a build with xIDE for EM250, after the linker completes and the deadstrip tool (and any other optimization processes) has finished, an em2xx_convert.exe tool (called em2xx_ebl.exe in previous xIDE versions) runs as the last step of the build.

12345next ›last »

Search

FAQs

  • All (120)
  • Software : Embedded (47)
  • Software : Networking (55)
  • Hardware : Design (18)
  • Hardware : Manufacturing (6)
  • Tools : Dev Boards (0)
  • Tools : ISD/ISA (11)
  • Tools : xIDE (3)
  • Tools : Other (6)
  • ZigBee (0)
  • Change Notification (0)
Primary links
  • Developer Blog
  • Documentation
  • Download
  • FAQs
  • Change Notifications
  • Training
Portal
  • My Account
  • Search
User login
  • Request new password

Company | Products | Buy | Applications | ZigBee | Partners | Support | Events | Contact Us

©2007-2008 Ember Corporation | All rights reserved | Privacy