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