If you search for an interpretation to get a meaning out of the command
vcgencmd get_throttled
which might return something like:
throttled=0x50005
you will find many forum posts that basically tell you it is a bitcode and that you have to decode it following this table:
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 capped has occurred |
18 | Throttling has occurred |
19 | Soft temperature limit has occurred |
(from this GitHub page)
yyyyeaaahhhh right.
Finally I found a comprehensible explanation here and I decided to write a script around it, and since I know PHP this is what I used.
So, from your home folder,
nano throttled.php
paste this inside:
<?php $codes=array( 0=>"Under-voltage detected", 1=>"Arm frequency capped", 2=>"Currently throttled", 3=>"Soft temperature limit active", 16=>"Under-voltage has occurred", 17=>"Arm frequency capped has occurred", 18=>"Throttling has occurred", 19=>"Soft temperature limit has occurred"); $output=exec("vcgencmd get_throttled"); $output=explode("0x",$output); if ($output[1]=="0") { echo "all fine, lucky you\n"; exit(); } $output=str_split($output[1]); $bincode=""; foreach ($output as $hex) { $bincode.=str_pad(base_convert($hex,16,2),4,"0",STR_PAD_LEFT); } $bincode=array_reverse(str_split($bincode)); foreach ($bincode as $k=>$v) { if ($v) { echo $codes[$k]."\n"; } }
And then run:
php throttled.php