Skip to content

Instantly share code, notes, and snippets.

@freedomtan
Last active April 3, 2021 09:21
Show Gist options
  • Save freedomtan/e2774b76ec98eee8d2aa77c10666d674 to your computer and use it in GitHub Desktop.
Save freedomtan/e2774b76ec98eee8d2aa77c10666d674 to your computer and use it in GitHub Desktop.
Thermal Sensors in iOS Devices

get thermal sensors information on iOS devices

Sensors

As far as I can tell, there are two kinds of thermal sensors: "real" and synthetic ones. To get thermal sensor information, on iPhone 6s, we'll get something similar to the following

  iPhone:~ root# cycript  -p UserEventAgent
  
  cy# hs = [HidSensors sharedInstance]
  #"<HidSensors: 0x14de04210>"
  
  cy# sensors = new Instance(hs->hidSensorKeys)
  @["gas gauge battery","PMU tdev1","PMU tdev1","PMU tdev2","PMU tdev3","PMU tdev4","PMU tdev4","PMU tcal","PMU tjunc","PMGR SOC Die Temp Sensor0","Avg: PMGR SOC Die Temp Sensor0","Max: PMGR SOC Die Temp Sensor0","PMGR SOC Die Temp Sensor1","Avg: PMGR SOC Die Temp Sensor1","Max: PMGR SOC Die Temp Sensor1","PMGR SOC Die Temp Sensor2","Avg: PMGR SOC Die Temp Sensor2","Max: PMGR SOC Die Temp Sensor2","TCC Temp Sensor0","Avg: TCC Temp Sensor0","Max: TCC Temp Sensor0","TCC Temp Sensor1","Avg: TCC Temp Sensor1","Max: TCC Temp Sensor1","TCC Temp Sensor2","Avg: TCC Temp Sensor2","Max: TCC Temp Sensor2"]
  
  cy# sensors.length
  27
  
  cy# synthSensors = new Instance(hs->synthSensorKeys)
  @["FrontCameraDie","RearCameraDie","CGH7Skin","CGLEDHSSkin","CGCenterSkin","BCH7Skin","BCLEDSkin","BCRadioSkin","CGRCAMSkin"]
  
  cy# synthSensors.length
  9
  
  cy# tgs = [TGraphSampler sharedInstance] 
  #"<TGraphSampler: 0x14de31e80>"
  cy# tgs->productObj->_totalSensorCount 
  36

On iPhone 6, you'll get 23 sensros and 10 synthetic sensors.

  cy# sensors = new Instance(hs->hidSensorKeys)
  @["gas gauge battery","PMU FH","PMU RCAM","PMU PA","PMU SoC","PMU tbat","PMU tcal","PMU tjunc","PMGR SOC Die Temp Sensor0","Avg: PMGR SOC Die Temp Sensor0","Max: PMGR SOC Die Temp Sensor0","PMGR SOC Die Temp Sensor1","Avg: PMGR SOC Die Temp Sensor1","Max: PMGR SOC Die Temp Sensor1","TCC Temp Sensor0","Avg: TCC Temp Sensor0","Max: TCC Temp Sensor0","TCC Temp Sensor1","Avg: TCC Temp Sensor1","Max: TCC Temp Sensor1","TCC Temp Sensor2","Avg: TCC Temp Sensor2","Max: TCC Temp Sensor2"]
  cy# synthSensors = new Instance(hs->synthSensorKeys)
  @["FrontCameraDie","RearCameraDie","CGH7Skin","CGLEDHSSkin","CGCenterSkin","BCH7Skin","BCLEDSkin","BCRadioSkin","CGRCAMSkin","CGLEDSkin"]
  cy# sensors.length
  23
  cy# synthSensors.length
  10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment