Hello Vader,
Thank you for opening this new thread. I'd want to point out that any code written to adapt the front panel to Sailfish will pave the way to any compatibility with Linux as the interface would be the same.
Like I said in my earlier post, the front panel's details are guessing work until any API documentation is released by PC. This guessing, thanks to PC giving the name of the micro-controller, leads me to imagine that the front-panel is treated like a USB device by the Cosmo's OS.
From my other post :
From week 23 update : "[...] We have also been working on the software interface between the main MediaTek P70 processor and the second processor, the STM32: we have been defining the messages that will be passed from Android or Linux to the second processor and vice versa. Having a separate processor handling the external screen allows uniform interfacing of the second screen to any Operating System that is running on the main Cosmo processor, without needing to modify the second processor firmware. [...]"
So, Sailfish OS applications using C++/Qt/QML, the communication itself could be managed with QSerialPort (I have to check if it's supported on Sailfish's Qt), and the back-end could maybe be shared with Linux.
At a minimum, from the video of the front panel
here, the front panel interface ins and outs are :
Ins :
- upper notifications (battery life, network, etc...)
- date
- upcoming alarm
- event notifications (like app notifcations or calls)
- coming phone calls, which means informations like :
-- number
-- caller contact name
-- caller icon / photo
-- OUT : accept or declining call from the front panel touchscreen (only guessing here)
Outs :
- from the slide down menu : (00:12)
-- wifi on / off
-- WAN network on/off
-- GPS on/off
-- bluetooth on/off
-- do not disturb on/off
-- energy-saving mode on/off
-- plane mode on/off
-- internet sharing on/off
- shortcut menu : (00:26)
-- (I'm leaving out the camera and video buttons)
-- call (interface unknown, manual dialling and/or direct contact dialling )
-- agenda (interface unknown)
-- microphone / recorder ? (interface unknown)
-- alarm
-- flashlight (linked to camera features)
-- settings (front panel system settings ?)
The security pattern could be internally managed by the front panel system.
I think the whole camera block is still managed by the main OS, but I could be wrong. If so, video stream and photo will somehow have to be sent to the front-panel. The white square at 00:35 could be a result from a not yet implemented photo shot.
The fingerprint reader is obviously independent from the front panel and managed from the OS, or they would use it instead of the security pattern.
At first glance, it may be an overwhelming task to interface the front panel with Sailfish or Linux. Yet, we can start small. We can start with displaying the battery life, for example.
Actually, we don't have to wait for the Cosmo to begin. From the main OS to the front-panel, any signal/information will have to be picked from the main operating system (Sailfish / Linux), then this raw information will have to be transformed so as to be understood by the front panel, and finally this information would be sent to the front-panel interface.
Three basic blocks. We don't know enough from Cosmo to code anything about the last two block (transformation and transmission), but we have all the tools to code the first one (gathering the informations).
I only have the Sailfish OS Emulator from the SDK, but I'm least worried about this OS than with the different Linux distributions and desktop environments. We will surely stick with the official Debian image, but I don't know which DE is better suited. Which DE is the "official" one with PC Gemini ?
I'm still unsure about the existing and running phone capabilities of PC's Debian and I don't have a Gemini to fiddle with it.
Each feature will have to tap into software.
Ex: For contacts : GKA Contacts
hereWhat are your thoughts ? Any idea or finding ?
Cyril