Fetching BabbleSim

The BabbleSim project consists of many components, most of them optional and each in its own separate git repository.

There are several ways to fetch it:

Using Android’s repo

The easiest and recommended way to fetch them is by using Androids repo

mkdir ~/bsim/ && cd ~/bsim/
repo init -u https://github.com/BabbleSim/manifest.git -m everything.xml -b master
repo sync

For a list and description of the provided manifests, see the manifest repository documentation

Using Zephyr’s west tool (decoupled from Zephyr itself)

mkdir ~/bsim/ && cd ~/bsim/
west init -m git@github.com:BabbleSim/bsim_west.git bsim
cd bsim
west update

For a list and description of the provided manifests, see the west manifest repository documentation

Using Zephyr’s west tool, as part of a Zephyr or nRF Connect SDK workspace

New enough Zephyr and NCS repositories (main branch newer than 2023/04/20) include BabbleSim in their main manifest, but disabled by default. You can enable that group by adding to the west workspace group filter babblesim:

west config manifest.group-filter -- +babblesim
west update

After that you will find the simulator in the tools/bsim folder of your workspace.

As a set of separate projects, with git submodule, subtree, or vanilla git

You may fetch each git repository manually or by other means. In this case, consult the folder structure page for information about how to place them.


Note
If you use BabbleSim with Zephyr, add to your ~/.bashrc or ~/.zephyrrc file
export BSIM_OUT_PATH=${HOME}/bsim/ #If fetched with the repo instructions
export BSIM_OUT_PATH=${HOME}/bsim/bsim/ #If fetched with the standalone west instructions
export BSIM_OUT_PATH=${ZEPHYR_BASE}/../tools/bsim/ #If fetched as part of the Zephyr or NCS workspace
export BSIM_COMPONENTS_PATH=${BSIM_OUT_PATH}/components/
#replace those paths as necessary
Note
To build BabbleSim, you must have the 32-bit C library installed in your system (in Ubuntu 18.04 and newer install the gcc-multilib package)
Note
ext_2G4_channel_Indoorv1 requires the FFTW3 library (in Ubuntu 18.04 and newer install the libfftw3-dev package)