In che modo Coconut Battery determina la capacità di progettazione di una batteria Macbook?

9

La batteria di un macbook ha tre numeri di addebito:

  1. Il costo attuale
  2. La tariffa massima
  3. La capacità di progettazione

Anche se un Macbook rimane collegato, OS X non tenta di caricare, purché (1) sia il 95% di (2), motivo per cui la percentuale nella barra di notifica sarà spesso tra il 95% e il 100 %.

Questi due numeri sono in contrasto con la "capacità di progettazione" di una batteria. Coconut Battery è l'unico software che ho trovato che riporta la "capacità di progettazione" di una batteria Macbook.

Questa capacità di progettazione non viene visualizzata nelle specifiche Apple, in Informazioni di sistema o in everymac.com.

In che modo Coconut Battery determina la capacità di progettazione di una batteria?

    
posta Calaf 02.06.2016 - 16:22
fonte

1 risposta

24

Puoi trovare queste informazioni insieme a molte altre batterie e / o informazioni di sistema dal comando

ioreg

Questo comando, in base alla sua pagina man, fa:

ioreg displays the I/O Kit registry. It shows the heirarchical1 registry structure as an inverted tree.

1 : hearcharchico [sic]

Utilizzo di un filtro per nome della classe ( AppleSmartBattery per batteria) per ottenere solo informazioni relative alla batteria:

$ 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).

From man ioreg.

Stampa qualcosa di simile:

$ 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
}

Il campo che stai cercando è DesignCapacity . Per comodità, filtralo con grep (unità è milliamp-ore o mAh):

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

Il tuo campo DesignCapacity potrebbe non mostrare 6330 come valore. Utilizzo un rMBP da 13 "a metà 2014, ma potresti utilizzare un altro sistema con diversi valori di batteria.

Oltre alle informazioni sulla batteria, ioreg può essere usato per scoprire di più sul tuo sistema e altre periferiche - in qualche modo come uno strumento di informazione di sistema da riga di comando.

Se stai cercando un'implementazione del codice di questo comando, dai un'occhiata a SystemKit di Beltex su Github . È una delle librerie Swift più belle che conosca.

Disclaimer: non affiliato a SystemKit o Beltex. Solo un felice utente di SystemKit.

    
risposta data 02.06.2016 - 16:31
fonte

Leggi altre domande sui tag