Skip to content

Baloo debugging

Romain Jacob edited this page Feb 26, 2019 · 4 revisions

This page is currently under construction. At this stage, the information included here has no guarantee of being complete nor correct.


This page contains common problems you may encounter while using Baloo. And how to solve them.

The host does not start sending

When the host starts, nothing seems to happen, with no failure message.

The problem might be that you are misconstructing the control packet. Typically, the schedule overwrites the config section. As a result, the middleware does not find any valid configuration to start and stops.

What do to? Verify that you are setting the correct size for your control schedule section, using

#define GMW_CONF_MAX_SLOTS

This define is used in the declaration of the gmw_control_t type.

No control packet transmitted

Schedule and config information seem fine, but no packet is actually transmitted by the radio. In Glossy mode, glossy is started, but the initiator does not TX.

Likely, the problem is with your radio configuration. The packet you are trying to send might be bigger than the maximal packet size your radio is configured to send.

This configuration is controlled by the following defines, which refer to the payload size in Bytes of the control and data packets respectively.

#define GMW_CONF_MAX_CONTROL_PKT_LEN
#define GMW_CONF_MAX_DATA_PKT_LEN

Make sure to set those to the correct values for your application. The middleware will take care to correctly set the radio based on those parameters.

CC430 node not bootstrapping on the desk

If the source and host node are in close proximity of each other, the source node might fail to bootstrap. Reduce the TX power or increase the distance between the nodes.

(Tmote Sky only) Buggy payload received from Glossy

There is currently an issue in the case glossy_stop() is called during the first TX phase of a receiving node. It may happen that the received payload will not be copied into the packet buffer, while the packet was received correctly in the preceding RX phase.
As a consequence, Baloo will return an GMW_EVT_PKT_OK, since the receive counter is not zero, but the payload is garbage (either the previous packet, or 0 if GMW_CONF_USE_AUTOCLEAN is set).

As a workaround, check whether the received payload is valid in your protocol implementation! That is usually a good thing to do anyway...

(Tmote Sky only) Source node receive control but don't exit bootstrapping

Note: This should have been solved. To double-check.

There is a bug with the dc-stat.h for the sky mote. DCSTAT_CPU_ON does not work properly and break sensitive timing (currently unknown reason).

What do to? Use energest instead.

(DPP only) Buggy energest implementation

At times, the time returns by energest are buggy. The cause is likely because of some missing/misplaced ENERGEST_ON and ENERGEST_OFF calls in the radio driver (rf1a.c).

What do to? Use DCSTAT instead.


This concludes the overview of how to program with Baloo.

Advanced functionalities are described in the Advanced features pages.