Jump to content

Charging-sdl: Difference between revisions

From postmarketOS Wiki
Drebrez (talk | contribs)
Created page with "This is an application developed by the postmarketOS community to display the charging status when the device is powered on in "charge mode". It is written in C and uses SDL2..."
 
m minor language edits
Line 9: Line 9:
== Current implementation ==
== Current implementation ==


If you connect the usb cable to the phone while it's powered off, it should start the device as usual and in the initramfs it should detect that it's started in "charge mode" and show the <code>charging-sdl</code> for 5 seconds.
Connecting the usb cable to the phone while it's powered off should start the device as usual and in the initramfs it should detect that it's started in "charge mode", showing the <code>charging-sdl</code> for 5 seconds.


Then you can show again the <code>charging-sdl</code> for another 5 seconds by pressing the power key.
You can show this <code>charging-sdl</code> screen again for another 5 seconds by pressing the power key.


If the <code>charging-sdl</code> shows a lightning icon in the top left of the screen, it means that the battery it's charging, if you unplug it, the icon should disappear.
<code>charging-sdl</code> will show a lightning icon in the top left of the screen when the battery is charging, and if you unplug it the icon should disappear.


== Run charging-sdl manually ==
== Run charging-sdl manually ==
Line 35: Line 35:
In order to detect if the device has been powered on in "charge mode", the initramfs script looks for specific options in the kernel cmdline (e.g.: androidboot.mode=charger)
In order to detect if the device has been powered on in "charge mode", the initramfs script looks for specific options in the kernel cmdline (e.g.: androidboot.mode=charger)


Compare your kernel cmdline when powered on normally and when you power on by connecting the usb cable only.  
Compare your kernel cmdline when powered on normally to when you power on by connecting the usb cable only.  
If you find a specific option to distinguish the two boot modes, please update the [https://github.com/postmarketOS/pmbootstrap/blob/a7afd519eff34237dfe2766634ac6b2c5076e9f5/aports/main/postmarketos-mkinitfs/init_functions.sh#L289-L297 initramfs script].
If you find a specific option to distinguish the two boot modes, please update the [https://github.com/postmarketOS/pmbootstrap/blob/a7afd519eff34237dfe2766634ac6b2c5076e9f5/aports/main/postmarketos-mkinitfs/init_functions.sh#L289-L297 initramfs script].



Revision as of 02:47, 28 March 2018

This is an application developed by the postmarketOS community to display the charging status when the device is powered on in "charge mode".

It is written in C and uses SDL2/SDL_power to query the battery information. The charging-sdl package is part of postmarketOS's aports.

Reporting Issues

Issues with charging-sdl should be reported on the project github issues page.

Current implementation

Connecting the usb cable to the phone while it's powered off should start the device as usual and in the initramfs it should detect that it's started in "charge mode", showing the charging-sdl for 5 seconds.

You can show this charging-sdl screen again for another 5 seconds by pressing the power key.

charging-sdl will show a lightning icon in the top left of the screen when the battery is charging, and if you unplug it the icon should disappear.

Run charging-sdl manually

You first have to boot the device into the debug-shell. (See Inspecting_the_initramfs)

After you connected to the device using telnet, you can run:

$ source /init_functions.sh
$ mount_boot_partition
$ extract_initramfs_extra /path/to/initramfs-extra      (e.g. /boot/initramfs-samsung-i9070-extra)
$ setup_directfb_tslib
$ fontpath=$(awk '/^keyboard-font/{print $3}' /etc/osk.conf)
$ charging-sdl -pcf "$fontpath"

Troubleshooting

Charge mode not detected

In order to detect if the device has been powered on in "charge mode", the initramfs script looks for specific options in the kernel cmdline (e.g.: androidboot.mode=charger)

Compare your kernel cmdline when powered on normally to when you power on by connecting the usb cable only. If you find a specific option to distinguish the two boot modes, please update the initramfs script.

DirectFB/FBDev: No supported modes found in /etc/fb.modes and current mode not supported!

See osk-sdl troubleshooting page