Developing on Mac (M3) - oksalahti - 09-22-2024
Hi,
I just bought PineTime and started working on my own watch face.
I managed to compile and run LVGL simulator for Mac with M3 (https://docs.lvgl.io/7.11/get-started/pc-simulator.html)
I tested my watch face with the LVGL simulator and it works as I would like it to work. Next step is to try to get my watch face running on the InfiniSim simulator.
I managed to compile the InfiniSim simulator on Mac but it won't start. These are the error messages I get when trying to run the compiled simulator on mac.
Has anyone managed to run the InfiniSim simulator on mac? Any ideas what's going on? I know I might be able to build InfiniTime project itself and upload my new code on my device but I'd feel much more safe if I can verify that the code runs on the simulator first.
Code: initial free_size = 40360
info: systemtask task started!
info: Last reset reason : Reset pin
info: [SpiNorFlash] Manufacturer : 0, Memory type : 0, memory density : 0
info: [SpiNorFlash] Wakeup
info: DISABLE
info: displayapp task started!
info: DISABLE
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'nextEventMatchingMask should only be called from the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x0000000186420540 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000185f11eb4 objc_exception_throw + 60
2 AppKit 0x000000018a37487c -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3164
3 SDL2 0x000000010502d76c SDL2 + 87916
4 SDL2 0x000000010502da08 SDL2 + 88584
5 SDL2 0x00000001050aca00 SDL_DYNAPI_entry + 218324
6 SDL2 0x00000001050acb30 SDL_DYNAPI_entry + 218628
7 infinisim 0x0000000104706af8 sdl_event_handler + 44
8 infinisim 0x00000001046dd328 lv_task_exec + 96
9 infinisim 0x00000001046dd0a0 lv_task_handler + 536
10 infinisim 0x00000001046944c8 _ZN8Pinetime12Applications10DisplayApp7RefreshEv + 328
11 infinisim 0x000000010469433c _ZN8Pinetime12Applications10DisplayApp7ProcessEPv + 88
12 infinisim 0x000000010470b8bc _Z20sdl_function_wrapperPv + 44
13 SDL2 0x0000000105037e80 SDL2 + 130688
14 SDL2 0x000000010503aef8 SDL2 + 143096
15 libsystem_pthread.dylib 0x00000001862ce034 _pthread_start + 136
16 libsystem_pthread.dylib 0x00000001862c8e3c thread_start + 8
)
libc++abi: terminating due to uncaught exception of type NSException
zsh: abort ./infinisim
RE: Developing on Mac (M3) - oksalahti - 09-23-2024
(09-22-2024, 07:48 AM)oksalahti Wrote: Hi,
I just bought PineTime and started working on my own watch face.
I managed to compile and run LVGL simulator for Mac with M3 (https://docs.lvgl.io/7.11/get-started/pc-simulator.html)
I tested my watch face with the LVGL simulator and it works as I would like it to work. Next step is to try to get my watch face running on the InfiniSim simulator.
I managed to compile the InfiniSim simulator on Mac but it won't start. These are the error messages I get when trying to run the compiled simulator on mac.
Has anyone managed to run the InfiniSim simulator on mac? Any ideas what's going on? I know I might be able to build InfiniTime project itself and upload my new code on my device but I'd feel much more safe if I can verify that the code runs on the simulator first.
Code: initial free_size = 40360
info: systemtask task started!
info: Last reset reason : Reset pin
info: [SpiNorFlash] Manufacturer : 0, Memory type : 0, memory density : 0
info: [SpiNorFlash] Wakeup
info: DISABLE
info: displayapp task started!
info: DISABLE
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'nextEventMatchingMask should only be called from the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x0000000186420540 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000185f11eb4 objc_exception_throw + 60
2 AppKit 0x000000018a37487c -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3164
3 SDL2 0x000000010502d76c SDL2 + 87916
4 SDL2 0x000000010502da08 SDL2 + 88584
5 SDL2 0x00000001050aca00 SDL_DYNAPI_entry + 218324
6 SDL2 0x00000001050acb30 SDL_DYNAPI_entry + 218628
7 infinisim 0x0000000104706af8 sdl_event_handler + 44
8 infinisim 0x00000001046dd328 lv_task_exec + 96
9 infinisim 0x00000001046dd0a0 lv_task_handler + 536
10 infinisim 0x00000001046944c8 _ZN8Pinetime12Applications10DisplayApp7RefreshEv + 328
11 infinisim 0x000000010469433c _ZN8Pinetime12Applications10DisplayApp7ProcessEPv + 88
12 infinisim 0x000000010470b8bc _Z20sdl_function_wrapperPv + 44
13 SDL2 0x0000000105037e80 SDL2 + 130688
14 SDL2 0x000000010503aef8 SDL2 + 143096
15 libsystem_pthread.dylib 0x00000001862ce034 _pthread_start + 136
16 libsystem_pthread.dylib 0x00000001862c8e3c thread_start + 8
)
libc++abi: terminating due to uncaught exception of type NSException
zsh: abort ./infinisim
I could not get the simulator to run so I just went and installed on the device directly. It does work but is a bit on the slow side. Looks like drawing 21 arcs and 6 lines and 2 labels just takes a while (~800ms).
Here's the watch face I made. I call it the "Circles of Life". The outer circle indicates progress on the current year, the middle circle progress on the current month, the inner circle progress on the current week and the hour-dots also indicate battery charge level.
https://drive.google.com/file/d/1kwQNu1j_UFxWpjXFmTMcNauw5MOToj0E/view?usp=sharing
|