Як кокосова батарея визначає проектну ємність акумулятора Macbook?


11

Акумулятор MacBook має три номери заряду:

  1. Поточний заряд
  2. Максимальна зарядка
  3. Проектна ємність

Навіть якщо Macbook залишається підключеним, ОС X не намагається заряджати - доки (1) становить 95% від (2), тому відсоток на панелі сповіщень часто буде становити від 95% до 100%.

Ці два числа суперечать "проектній ємності" акумулятора. Coconut Battery - це єдине програмне забезпечення, яке я знайшов, який повідомляє про «проектну ємність» акумулятора Macbook.

Ця конструктивна спроможність не відображається в специфікаціях Apple, в системній інформації або на сайті everymac.com.

Як кокосова батарея визначає проектну ємність акумулятора?


Меню iStat також відображає проектну ємність батареї
можливо, може почати

6
І ось я подумав, що кокосова батарея - це щось на зразок лимонної клітини . Як невтішно.
Wildcard

Відповіді:


27

Ви можете знайти цю інформацію разом із значною кількістю іншої інформації про акумулятор та / або систему з команди

ioreg

Ця команда, згідно з її довідковою сторінкою, робить:

ioreg відображає реєстр I / O Kit. Він показує структуру реєстру heirarchical 1 у вигляді перевернутого дерева.

1 : герархічний [sic]

Використовуючи фільтр за назвою класу ( AppleSmartBatteryдля акумулятора), щоб отримати лише інформацію про акумулятор:

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

З man ioreg.

Буде надруковано щось подібне:

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

Поле, яке ви шукаєте, є DesignCapacity. Для зручності відфільтруйте його grep(одиниця становить мільярд-годин або мАг):

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

Ваше DesignCapacityполе може не відображатися 6330як його значення. Я використовую 13 "rMBP в середині 2014 року, але ви, можливо, використовуєте іншу систему з різними номіналами акумулятора.

Крім інформації про акумулятор, ioregйого можна використовувати, щоб дізнатися більше про вашу систему та інші периферійні пристрої - дещо як інструмент системної інформації командного рядка.


Якщо ви шукаєте кодову реалізацію цієї команди, погляньте на SystemKit Beltex на Github . Це одна з найкрутіших бібліотек Свіфта, про яку я знаю.

Відмова від відповідальності: не належить до SystemKit або Beltex. Просто щасливий користувач SystemKit.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.