Comment la batterie de noix de coco détermine-t-elle la capacité nominale d'une batterie de Macbook?

10

La batterie d'un macbook a trois numéros de charge:

  1. La charge actuelle
  2. La charge maximale
  3. La capacité de conception

Même si un Macbook reste branché, OS X ne tente pas de charger - tant que (1) correspond à 95% de (2), raison pour laquelle le pourcentage dans la barre de notification se situe souvent entre 95% et 100%.

Ces deux chiffres sont en contraste avec la "capacité nominale" d'une batterie. Coconut Battery est le seul logiciel que j'ai trouvé qui indique la "capacité nominale" de la batterie d'un Macbook.

Cette capacité de conception n'apparaît pas dans les spécifications d'Apple, dans les informations système ou sur everymac.com.

Comment la batterie de noix de coco détermine-t-elle la capacité nominale d'une batterie?

Calaf
la source
Les menus iStat affichent également la capacité
nominale de la
6
Et ici, je pensais qu'une pile à la noix de coco ressemblait à une cellule au citron . Tellement décevant.
Wildcard

Réponses:

26

Vous pouvez trouver cette information avec beaucoup d’autres informations sur la batterie et / ou le système à partir de la commande.

ioreg

Cette commande, selon sa page de manuel, fait:

ioreg affiche le registre du kit d'E / S. Il montre la structure de registre 1 hiérarchique sous forme d'arborescence inversée.

1 : hiérarchique [sic]

Utilisation d'un filtre par nom de classe ( AppleSmartBatterypour batterie) pour obtenir uniquement les informations relatives à la batterie:

$ ioreg -brc AppleSmartBattery
-b    Show the object name in bold.
-r    Show subtrees rooted by objects that match the specified criteria.
       If none of -c, -k, or -n are supplied, -r has no effect.
-c    Show the object properties only if the object is an instance of, or
       derives from, the specified C++ class (e.g. IOService).

À partir de man ioreg.

Imprimera quelque chose comme ceci:

$ ioreg -brc AppleSmartBattery
+-o AppleSmartBattery  <class AppleSmartBattery, id 0x100000254, registered, ma$
{
  "ExternalConnected" = Yes
  "TimeRemaining" = 0
  "InstantTimeToEmpty" = 65535
  "ExternalChargeCapable" = Yes
  "FullPathUpdated" = 1464849055
  "CellVoltage" = (4298,4292,4299,0)
  "Voltage" = 12889
  "BatteryInvalidWakeSeconds" = 30
  "AdapterInfo" = 0
  "MaxCapacity" = 5524
  "PermanentFailureStatus" = 0
  "Manufacturer" = "SMP"
  "Location" = 0
  "CurrentCapacity" = 5524
  "LegacyBatteryInfo" = {"Amperage"=0,"Flags"=5,"Capacity"=5524,"Current"=5$
  "FirmwareSerialNumber" = 1
  "BatteryInstalled" = Yes
  "PackReserve" = 200
  "CycleCount" = 318
  "DesignCapacity" = 6330
  "OperationStatus" = 58371
  "ManufactureDate" = 17726
  "AvgTimeToFull" = 65535
  "BatterySerialNumber" = "D864403T3UVFVN7A6"
  "BootPathUpdated" = 1464353527
  "PostDischargeWaitSeconds" = 120
  "Temperature" = 3096
  "UserVisiblePathUpdated" = 1464849490
  "InstantAmperage" = 0
  "ManufacturerData" = <000000000702000a03890000034a34340330304103534449032$
  "MaxErr" = 1
  "FullyCharged" = Yes
  "DeviceName" = "bq20z451"
  "IOGeneralInterest" = "IOCommand is not serializable"
  "Amperage" = 0
  "IsCharging" = No
  "DesignCycleCount9C" = 1000
  "PostChargeWaitSeconds" = 120
  "AvgTimeToEmpty" = 65535
}

Le domaine que vous recherchez est DesignCapacity. Pour plus de commodité, filtrez-le avec grep(l'unité est en milliampères-heures ou en mAh):

$ ioreg -brc AppleSmartBattery | grep DesignCapacity
      "DesignCapacity" = 6330

Votre DesignCapacitychamp peut ne pas afficher 6330sa valeur. J'utilise un PBR 13 "mi-2014, mais vous utilisez peut-être un autre système avec des cotes de batterie différentes.

Outre les informations sur la batterie, vous ioregpouvez en savoir plus sur votre système et d’autres périphériques, un peu comme un outil d’informations système en ligne de commande.


Si vous recherchez une implémentation en code de cette commande, jetez un coup d'oeil au SystemKit de Beltex sur Github . C'est l'une des bibliothèques les plus cools de Swift que je connaisse.

Déni de responsabilité: non affilié à SystemKit ou Beltex. Juste un utilisateur heureux de SystemKit.

peut-être beharry
la source