-
Notifications
You must be signed in to change notification settings - Fork 3
feat RF channel
Describe the channel setting feature in Baloo.
Baloo provides the user with a direct interface to select the radio frequency channel (often called RF channel).
The user can select a desired channel (among those supported by the platorm) which is set at initialization. A dedicated function allows to modify this setting at any time during execution.
This feature is always active.
Available for all supported platforms.
Compatible with all the features and communication primitives.
The user can select the desired RF channel using the following macro (typically in project-conf.h
)
#define GMW_CONF_RF_TX_CHANNEL
The admissible values for this macro are listed in a enum
in the platform configuration file (gmw-conf-<platform>.h
). Below is the list for the sky mote as an example:
typedef enum
{
GMW_RF_TX_CHANNEL_2405_MHz = 11,
GMW_RF_TX_CHANNEL_2410_MHz = 12,
GMW_RF_TX_CHANNEL_2415_MHz = 13,
GMW_RF_TX_CHANNEL_2420_MHz = 14,
GMW_RF_TX_CHANNEL_2425_MHz = 15,
GMW_RF_TX_CHANNEL_2430_MHz = 16,
GMW_RF_TX_CHANNEL_2435_MHz = 17,
GMW_RF_TX_CHANNEL_2440_MHz = 18,
GMW_RF_TX_CHANNEL_2445_MHz = 19,
GMW_RF_TX_CHANNEL_2450_MHz = 20,
GMW_RF_TX_CHANNEL_2455_MHz = 21,
GMW_RF_TX_CHANNEL_2460_MHz = 22,
GMW_RF_TX_CHANNEL_2465_MHz = 23,
GMW_RF_TX_CHANNEL_2470_MHz = 24,
GMW_RF_TX_CHANNEL_2475_MHz = 25,
GMW_RF_TX_CHANNEL_2480_MHz = 26
} gmw_rf_tx_channel_t;
The user can modify the RF channel setting at run time using the gmw_set_rf_channel()
function (see gmw-platform.h
). This allows the NET layer to implement a channel hopping scheme at the slot level (i.e., the netwrok hops channel between successive slots).
The baloo-crystal
application (see \examples
) provides an example use this feature: for each communication round and pair of slots, the network hops through a predifined list of channels based on a static function (see get_channel_epoch()
).