Qi 2.2 or
Qi2 25W
finally makes wireless charging universal for supported phones with Magnetic Power Profile (MPP).
For phones / devices having built in MPP magnets - or a case with magnets - the alignment issues are solved, and the 25 watt charging speed is fast enough to remove most need for plug-in charging of phones.
The Google Pixel 11, iPhone 17, and similar flagship phones natively support Qi2 25W, which allows true corded-like charging speeds with a robust magnetic interface.
Qi 1.x has been widely available for over a decade, and has long been plagued in practical use with problems associated with a need for tight physical alignment, heat, and slow charging speeds.
Note that while Qi2 25W devices are generally backward compatible, there are some older Qi 1.x devices including the Pixel Stand 2 that may not charge newer devices due to mechanical alignment issues.
The original 5 watt Qi was OK for overnight charging.
USB-PD wired quick charging can yield charging in 30 minutes for 50%.
Qi 1.3 Extended Power Profile (EPP)
can yield 15 watt charge with appropriate devices and a 30 watt USB-PD power adapter.
15 to 25 watts is close enough to wired USB-PD, useful for top-off charging.
Having adequate USB-PD input power (e.g. 30 watt wall power USB-PD adapter) to the Qi wireless charger is vital to meet full power charging specs.
The closer the phone (thinner the case) and better aligned the phone is, the faster and cooler it will charge.
If the device is getting too hot, it will backoff the charge rate to maintain appropriate temperature.
The thermal insulating effect of the phone case retains extra heat from charging.
MPI on Windows with C and Fortran is
best accomplished with Windows Subsystem for Linux (WSL) using OpenMPI or MPICH,
which gives full performance MPI.
For x86_64 CPUs,
Intel MPI library
has full MPI support including the Fortran “mpi_f08” interface.
Using WSL to use MPI on Windows is especially important for
ARM64 CPUs,
which are not supported by Microsoft MS-MPI at the time of writing.
We use WSL on Windows for MPI because the “mpi_f08” interface is
not yet natively available on Windows
via
Microsoft MS-MPI
whether with or without MSYS2.
Neither OpenMPI or MPICH is buildable or available with native Windows.
To install Microsoft MPI on an x86_64 CPU machine, one can use the Windows Package Manager (winget) to install MS-MPI:
winget search Microsoft.msmpi
The MSYS2 MS-MPI library can be installed from the MSYS2 Terminal:
pacman -S mingw-w64-ucrt-x86_64-msmpi
Upon installing or updating Intel oneAPI compilers and libraries on Windows, you may experience CMake failing to find MPI for MinGW.
This happens because Intel compilers put Intel MPI on the system PATH.
Fix this by removing Intel MPI from the system PATH and use the Intel Compiler shell instead, which provides all the needed directories.
On Linux or macOS one can kill (force end) a program in Terminal by program name using the
pkill
command.
Windows users can similarly kill a program in Windows Terminal by program name using the
taskkill
command.
For example, suppose that Notepad is so locked up that even using Task Manager to end the program doesn’t work - or a non-GUI way of killing a program is desired.
From Windows Terminal force end a program by name like:
taskkill /IM notepad.exe
Similar to “pkill” that sends SIGTERM by default on Unix-like systems, the taskkill command above sends a request to the program to terminate gracefully.
If the program does not respond, the “/F” option of “taskkill” can be used to force end a program:
taskkill /F /IM notepad.exe
This is similar to a Unix-like system SIGKILL “-9” signal, which can be sent to a program using the “pkill” command like:
Microwave oven power levels are often prominently displayed, along with their cooking volume.
However, larger volume means a larger exterior case, which can waste counter space.
Many people are using microwaves for a far smaller volume of food than the maximum capacity, which can lead to uneven cooking.
It’s quite important to use “power level” appropriate for the type of cooking being done - reheating vs. defrosting vs. cooking frozen foods, etc.
The downsides of higher power (1000 watt plus) microwave ovens include:
non-inverter microwave ovens are only on-off to modulate power level, and the “on” portion can be so intense that it can overcook or dry out food, especially when reheating or defrosting.
many people do not use the “power level” setting, and the default high power setting is way too intense for refrigerator reheating or defrosting.
A lower power say 0.7 cubic foot microwave oven with 700 watts of power can be far better suited for countertop use.
For those users who don’t use the “power level” setting, 700 watts full power is like a 63% power setting of a 1100 watt inverter microwave oven, which is a more reasonable power level for reheating.
It’s still beneficial to use power level setting on a 700 watt oven.
The Apple Studio Display has an onboard CPU with
upgradable firmware
and uses a Thunderbolt connection from the computer.
The 2022 first generation Apple Studio Display uses Thunderbolt 3, and the 2026 second generation Apple Studio Display uses Thunderbolt 5.
If Thunderbolt connection isn’t available (due to the computer or cable) then the Studio Display falls back to DisplayPort mode, which lacks features like wake from sleep.
Querying the display Thunderbolt connection is distinct but straightforward across operating systems:
GitHub Actions using MSVC in the past might have used the
msvc-dev-cmd
action, but as of this writing it was last updated in 2023 and giving deprecation warnings.
An alternative without needing an Action was based on libass project:
steps:# from https://github.com/libass/libass/blob/0.17.5/.github/workflows/meson.yml#L118-L125- name:Setup MSVCrun:| $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vsPath = & $vswhere -latest -products * -property installationPath
if (-not $vsPath) { throw "Could not find a Visual Studio installation" }
"VS=$vsPath"
"VS=$vsPath" >> $env:GITHUB_ENV
GitHub lists invitations for a user at the collaboration
invitations page,
which allows users to view and manage their pending invitations directly on GitHub.
This
CMake project
builds
GCC
and high level GCC prerequisites such as GMP.
This avoids needing to manually download and configure each project.
The CMake GCC superbuild assumes fundamental
prerequisites
such as libc, autotools, make, CMake are present.
The 3-stage
compiler bootstrap
is enabled to help ensure a working, performant GCC.
The Raspberry Pi 5 power management IC
PMIC
is the Renesas DA9091, a chip
specifically designed
for the Pi 5.
The Raspberry Pi 3B+ and
Raspberry Pi 4 PMIC
is the MaxLinear MXL7704.
Older Raspberry Pi models used
custom circuitry
or the
APX803
instead of a COTS PMIC to handle sequencing of discrete DC power input to the Pi subsystems.
It has been
noted
that damaging the PMIC can make the Raspberry Pi too difficult to repair.
A yellow lightning bolt is GPU-superimposed on the Raspberry Pi display output for low voltage.
In general computing platform operation is not guaranteed with voltages out of tolerance.
The SD card can become unreadable, the Pi may have random malfunctions, and corrupt data (bad writes) on the SD card.
Raspberry Pi 4 and Pi 5 require a minimum 5 Volt 3.0 Amp power supply.
Using peripherals can require higher current supply.
The cable between the power supply and Raspberry Pi must be of good quality to minimize voltage drop and unstable operation.
The USB-C power connector of the Raspberry Pi 4 and Pi 5 is markedly more robust than the micro-USB power connector of legacy Raspberry Pi models.
If the DC input voltage falls below 4.65 volts (depending on Raspberry Pi model and firmware), the GPU superimposes a lightning bolt graphic on the display output.
This may not be visible on a VNC remote desktop.
The status of the low voltage alarm (current or past) can be read from the Terminal with the command:
vcgencmd get_throttled
From the man page of vcgencmd:
Returns the throttled state of the system. This is a bit pattern - a bit being set indicates the following meanings:
Bit
Meaning
0
Under-voltage detected
1
Arm frequency capped
2
Currently throttled
3
Soft temperature limit active
16
Under-voltage has occurred
17
Arm frequency capping has occurred
18
Throttling has occurred
19
Soft temperature limit has occurred
A value of zero indicates that none of the above conditions is true.
To find if one of these bits has been set, convert the value returned to binary, then number each bit along the top. You can then see which bits are set. For example:
From this we can see that bits 18 and 16 are set, indicating that the Pi has previously been throttled due to under-voltage, but is not currently throttled for any reason.
throttled: 0x50005
Set throttled bits:
bit 0: Under-voltage detected
bit 2: Currently throttled
bit 16: Under-voltage has occurred
bit 18: Throttling has occurred
The Raspberry Pi 5 added
vcgencmd pmic_read_adc
to read DC input voltage and the several generated voltages and currents consumed.
On older Raspberry Pi models there is no built-in capability to measure the Raspberry Pi DC input voltage without adding an external ADC.
On the older Raspberry Pi (older than Pi 5) it may be possible to read the input voltage binary state (OK or low) from the Terminal, but we have not confirmed this.
On the Raspberry Pi 1 B+ and Pi 2 it may be possible to
read state of GPIO 35,
depending on the hardware and firmware.
On the Raspberry Pi 3 in may be possible to
read GPU-driven LED status.
When compiling programs with concerns about excessive power consumption, consider not compiling in parallel.
For GNU Make, “make -j1” uses 1 CPU core.
For Ninja compilation in parallel is default, so specify “ninja -j1” for one build thread.
For meta-build systems limit build parallelism like CMake
cmake --build <build-directory> -j1
or Meson
meson compile -j1