Developing Without a Device - mooltipass/minible GitHub Wiki

With our device emulator, it is now possible for Mooltipass enthusiasts to contribute to our ecosystem without actually owning a device or SWD programmer!

Windows

Working with our emulator on Windows involves the use of QT Creator.

Step 1: Downloading the Mini BLE Repository

Have a look at this great GitHub tutorial.
If you prefer a command line tool, you may want to check out git for windows.
Once you have forked our repository, do not forget to initialize all its submodules by typing git submodule update --init --recursive if you are using a command line based tool for git.

Step 2: Installing QT Creator

To compile our emulator, download and install QT Creator from here.
You will need to create a QT account, and when prompted for installation options, select MSVC 2019 64-bit and MinGW 8.1.0 64-bit under "QT 5.15.0" before moving on with the installation process:

Step 3: Compiling the Emulator

Start QT Creator, click on "File" then "Open File or Project" and open minible_emu located in source_code/main_mcu/. Then click "Configure Project":

The finally, click the green arrow!

Step 4 : Providing Missing Bundle

If all went well during the compilation, you should see the two emulator windows above appear, with the emulator asking for a bundle file. Simply copy the "miniblebundle.img" file located in source_code/main_mcu/emu_assets folder to Qt Creator build's folder (something like build-minible_emu-Desktop_QT_5_15...).
Close both emulator windows, start the compilation step again and ta-da!

Step 5 : Emulator Control & Mooltipass Team Ground Rules

You may use the keyboard arrow keys to control the emulator, or use your mouse with its scroll wheel.
We can't wait to collaborate with you! Do not forget to have a look at the Mooltipass Team Ground Rules

Ubuntu

Getting up and running on Ubuntu is slightly faster than on Windows!

Step 1: Downloading the Mini BLE Repository

First install git:
sudo apt-get install git
Then clone our repository:
git clone https://github.com/mooltipass/minible
Initialize all its submodules:
cd minible
git submodule update --init --recursive

Step 2: Compiling the Emulator

Install all prerequisites:
sudo apt-get install build-essential qt5-default
Compile the emulator:
cd source_code/main_mcu/
make -f Makefile.emu
Then finally launch it:
./build/minible

Step 3 : Providing Missing Bundle

If all went well during the compilation, you should see the two emulator windows above appear, with the emulator asking for a bundle file.
Close both emulator windows and type the following command:
sudo cp emu_assets/miniblebundle.img /usr/share/misc/

Step 4 : Emulator Control & Mooltipass Team Ground Rules

You may use the keyboard arrow keys to control the emulator, or use your mouse with its scroll wheel.
We can't wait to collaborate with you! Do not forget to have a look at the Mooltipass Team Ground Rules

MacOS

Getting up and running on MacOS is very similar to the Linux process but with some crucial differences

Step 1: Downloading the Mini BLE Repository

First install git:
brew install git
Then clone our repository:
git clone https://github.com/mooltipass/minible
Initialize all its submodules:
cd minible
git submodule update --init --recursive

Step 2: Compiling the Emulator

Install all prerequisites:
brew install gcc qt@5 make
Brew doesn't install GNU tools under path so you need to make sure they're available to you:

$ gcc --version
gcc (Homebrew GCC 12.2.0) 12.2.0
...

$ g++ --version
g++ (Homebrew GCC 12.2.0) 12.2.0
...

$ make --version
GNU Make 3.81
...

Ensure QT5 libraries are available:
Follow instructions shown by brew info qt@5
Replace —-gc-sections with -dead_strip in Makefile.emu:
sed -i -e 's/--gc-sections/-dead_strip/g' ./Makefile.emu
Create a folder that the emulator can fetch the bundle from:
sudo mkdir -p /usr/local/minible/share/misc
Compile the emulator:
cd source_code/main_mcu/
make DESTDIR=/usr/local PREFIX=/minible -f Makefile.emu
Then finally launch it:
./build/minible

Step 3 : Providing Missing Bundle

If all went well during the compilation, you should see the two emulator windows above appear, with the emulator asking for a bundle file.
Close both emulator windows and type the following command:
sudo cp emu_assets/miniblebundle.img /usr/local/minible/share/misc/

Step 4 : Emulator Control & Mooltipass Team Ground Rules

You may use the keyboard arrow keys to control the emulator, or use your mouse with its scroll wheel.
We can't wait to collaborate with you! Do not forget to have a look at the Mooltipass Team Ground Rules