Author Topic: MDD temperature readings  (Read 9400 times)

Offline FdB

  • Moderator
  • Platinum Member
  • *****
  • Posts: 666
  • And then...
MDD Copper Heatsink
« Reply #20 on: November 09, 2018, 09:09:40 PM »
I have the copper heatsink.
I'm not sure about the highest temperature. I think around 35°C.
Yet another... MDD Copper Heatsink disciple.
Operating temperatures reported under 100˚F (37.8˚C) drives some of us a bit crazy.
[54˚F (12˚C) just seems unbelievable, my apologies.]
As for running Bresink's with a booted Tiger DVD... wonder if you could place Bresink's
on a USB thumb drive and run it from there while booted from the DVD? Just a thought.
Other than that, you might need a resident 2nd boot drive with OS X & Bresink's to boot from.
This Must Be The Place

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: MDD temperature readings
« Reply #21 on: November 14, 2018, 01:02:34 AM »
It's running now at 4°C higher than room temperature. Next week it will freeze in Belgium.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: MDD temperature readings
« Reply #22 on: November 16, 2018, 07:51:59 AM »
Going down.

Offline ELN

  • Gold Member
  • *****
  • Posts: 295
  • new to the forums
Re: MDD temperature readings
« Reply #23 on: November 16, 2018, 05:52:44 PM »
Point of interest: the GetCoreProcessorTemperature function makes a system call to the NanoKernel, which in turn calls the CPU Plugin. This is one of the two code paths that crashed the mini under OS 9, because the ?7447a does not expose its internal temp sensor via THRM registers. I patched the kernel so that the mini also returns kCantReportProcessorTemperatureErr.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: MDD temperature readings
« Reply #24 on: November 21, 2018, 06:51:20 AM »
I used Fragmalizer to look into Thermograph to see which functions it uses. Then I wrote my own program:
Code: [Select]
SInt32 cpuNr=1;
MPCpuID cpuID;
OSStatus osStatus=::MPGetNextCpuID(reinterpret_cast<MPCoherenceID>(kInvalidID),
                                   &cpuID);
while (osStatus==noErr)
    {
    const SInt32 temperature=::GetCoreProcessorTemperature(cpuID);
    if (temperature==kCantReportProcessorTemperatureErr)
        {
        cout << "Can't report temperature." << endl;
        break;
        }
    cout << "CPU " << cpuNr << " temperature = " << temperature << " degrees Celsius." << endl;
   
    cpuNr++;
    osStatus=::MPGetNextCpuID(reinterpret_cast<MPCoherenceID>(kInvalidID),
                              &cpuID);
    }
It has to be:
Code: [Select]
MPCpuID cpuID=kInvalidID;

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: MDD temperature readings
« Reply #25 on: November 28, 2018, 06:03:14 AM »
Here's a similar program:
http://www.macprogramming.info/2011/04/page/4

Code: [Select]
#include <power.h>
#include <Multiprocessing.h>
#include <MultiprocessingInfo.h>
void    InitializeToolbox( void ) ;
void  main( void )
{     
    InitializeToolbox();
    Str255 theString1 ;
    MPCpuID cpuID ;
    MPGetNextCpuID((OpaqueMPCoherenceID *)kMPInvalidIDErr, &cpuID) ;
    NumToString( GetCoreProcessorTemperature(cpuID), theString1) ;
    ParamText(theString1, "\p", "\p", "\p") ;
    NoteAlert(128, NULL) ;
}   
void  InitializeToolbox( void )
{
    InitGraf (&qd.thePort);
    InitFonts();
    InitWindows();
    InitMenus();
    TEInit();
    InitDialogs( NULL );
    InitCursor();
    FlushEvents(everyEvent, 0);
- — -
}

He makes the same mistake of not initializing cpuID.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: MDD temperature readings
« Reply #26 on: November 28, 2018, 06:04:42 AM »
I can't find the documentation for GetCoreProcessorTemperature.
Sometimes it returns kCantReportProcessorTemperatureErr.
Thermograph says in this case "The computer does not support temperature measurements. Please refer to the manual for more info."
Why would that happen?