Los que me seguís en redes sabréis de sobra que tengo un PineTime, un smartwatch de la gente buena de Pine64. Este reloj inteligente esta actualmente en fase de desarrollo pero ya tiene muchas cosas interesantes.
Entre una de ellas es la opción de emular el FirmWare que instalamos manualmente llamado InfiniTime.
En este tutorial os vamos a explicar a compilar InfiniSim, el software necesario para simular el FirmWare.
Clonamos el repositorio
Lo primero, será copiarnos el repositorio y sincronizamos los módulos:
git clone --recursive https://github.com/InfiniTimeOrg/InfiniSim.git
cd InfiniSim
git submodule update --init --recursive
Instalamos dependencias necesarias
Para instalar las dependencias utilizaremos npm
, recuerda que para ello deberás de tener Node instalado en tu ordenador. Además tendremos que tener lo siguiente instalado:
apt install -y cmake libsdl2-dev g++ npm

Instalamos lo necesario:
npm init
npm install lv_font_conv@1.5.2
npm install ts-node@10.9.1 @swc/core lv_img_conv@0.3.0
npm install
Configuramos y compilamos
Procedemos a generar los ficheros necesarios y compilamos:
cmake -S . -B build
cmake --build build -j4
...
[ 98%] Building CXX object CMakeFiles/infinisim.dir/InfiniTime/src/drivers/St7789.cpp.o
[ 98%] Building CXX object CMakeFiles/infinisim.dir/InfiniTime/src/touchhandler/TouchHandler.cpp.o
[ 98%] Building CXX object CMakeFiles/infinisim.dir/InfiniTime/src/systemtask/SystemTask.cpp.o
[ 98%] Building CXX object CMakeFiles/infinisim.dir/InfiniTime/src/systemtask/SystemMonitor.cpp.o
[100%] Building CXX object CMakeFiles/infinisim.dir/InfiniTime/src/displayapp/InfiniTimeTheme.cpp.o
[100%] Linking CXX executable infinisim
[100%] Built target infinisim
Tras este proceso, podremos lanzar el emulador con el siguiente comando:
./build/infinisim --hide-status
Se nos debería de abrir una ventana con el emulador:


Comentarios