Page 1 of 1

DeckLink SDI Micro temperature reading

PostPosted: Mon Aug 31, 2020 7:01 pm
by RookieDaniel
Hi All, I'm currently testing a DeckLink SDI Micro. I've read some topics that this m.2 card supports temperature reading. I'm trying to put it into a very cozy system, mini pc, how can I read the temperature of the card under load/stress? I believe the operating temp of this card is below 55 Celsius, I don;t want to burn the card. Please help if there is a tool or program that I can check the temp.

BTW, I've seen in the SDK, there is an API header file which contains temp enum, can someone share how to work on it to return the integer value?

Thanks

Re: DeckLink SDI Micro temperature reading

PostPosted: Tue Sep 01, 2020 5:15 am
by Cameron Nichols
Hi Daniel,

You can check device temperature by calling IDeckLinkStatus::GetInt[1] with status item bmdDeckLinkStatusDeviceTemperature [2]. You can query the IDeckLinkStatus interface from IDeckLink, by calling IDeckLink::QueryInterface.

Further you can subscribe to notifications by creating a class that implements IDeckLinkNotificationCallback interface to get callback when device temperature changes. In IDeckLinkNotificationCallback::Notify [3], filter for topic = bmdStatusChanged and param1 = bmdDeckLinkStatusDeviceTemperature.

The SDK has the StatusMonitor example and the DeviceStatus(C++)/DeviceStatusCSharp(C#) samples that demonstrate use of IDeckLinkStatus and IDeckLinkNotificationCallback.

Regards
Cameron

References (DeckLink SDK Manual):
[1] 2.5.42.2 IDeckLinkStatus::GetInt method
[2] 3.59 DeckLink Status ID
[3] 2.5.34.1 IDeckLinkNotificationCallback::Notify

Re: DeckLink SDI Micro temperature reading

PostPosted: Fri Sep 04, 2020 7:51 pm
by RookieDaniel
Cameron Nichols wrote:Hi Daniel,

You can check device temperature by calling IDeckLinkStatus::GetInt[1] with status item bmdDeckLinkStatusDeviceTemperature [2]. You can query the IDeckLinkStatus interface from IDeckLink, by calling IDeckLink::QueryInterface.

Further you can subscribe to notifications by creating a class that implements IDeckLinkNotificationCallback interface to get callback when device temperature changes. In IDeckLinkNotificationCallback::Notify [3], filter for topic = bmdStatusChanged and param1 = bmdDeckLinkStatusDeviceTemperature.

The SDK has the StatusMonitor example and the DeviceStatus(C++)/DeviceStatusCSharp(C#) samples that demonstrate use of IDeckLinkStatus and IDeckLinkNotificationCallback.

Regards
Cameron

References (DeckLink SDK Manual):
[1] 2.5.42.2 IDeckLinkStatus::GetInt method
[2] 3.59 DeckLink Status ID
[3] 2.5.34.1 IDeckLinkNotificationCallback::Notify


Thanks Cameron,

I got the temperature, Yeah!

But it says 70 even when the system is idle. Can you confirm is it in Celsius or Fahrenheit?
Also the operating temperature (55 Celsius), is it the one I have to compare with?

Regards,
Daniel

Re: DeckLink SDI Micro temperature reading

PostPosted: Thu Sep 17, 2020 7:57 pm
by mcglynnj
RookieDaniel wrote:But it says 70 even when the system is idle. Can you confirm is it in Celsius or Fahrenheit? Also the operating temperature (55 Celsius), is it the one I have to compare with?

Celsius, because 70F is around 21C, which is just about typical room temperature. I have one of the M.2 cards as well and I had to stop using it because I was getting readings of around 95C and it was hot enough to make me flinch when I pressed my pinkie finger against the biggest chip.

Strange, it says on the spec-sheet that the pack contains a heatsink and fan... which I didn't get with mine... and I have not been able to locate a photo of what this heatsink looks like (and if it is at all possible, to get one separately).

Re: DeckLink SDI Micro temperature reading

PostPosted: Tue Sep 22, 2020 2:08 am
by RookieDaniel
RookieDaniel wrote:
Cameron Nichols wrote:Hi Daniel,

You can check device temperature by calling IDeckLinkStatus::GetInt[1] with status item bmdDeckLinkStatusDeviceTemperature [2]. You can query the IDeckLinkStatus interface from IDeckLink, by calling IDeckLink::QueryInterface.

Further you can subscribe to notifications by creating a class that implements IDeckLinkNotificationCallback interface to get callback when device temperature changes. In IDeckLinkNotificationCallback::Notify [3], filter for topic = bmdStatusChanged and param1 = bmdDeckLinkStatusDeviceTemperature.

The SDK has the StatusMonitor example and the DeviceStatus(C++)/DeviceStatusCSharp(C#) samples that demonstrate use of IDeckLinkStatus and IDeckLinkNotificationCallback.

Regards
Cameron

References (DeckLink SDK Manual):
[1] 2.5.42.2 IDeckLinkStatus::GetInt method
[2] 3.59 DeckLink Status ID
[3] 2.5.34.1 IDeckLinkNotificationCallback::Notify


Thanks Cameron,

I got the temperature, Yeah!

But it says 70 even when the system is idle. Can you confirm is it in Celsius or Fahrenheit?
Also the operating temperature (55 Celsius), is it the one I have to compare with?

Regards,
Daniel



@Cameron, I realize that the link speed is x1 and it shows only PCIe Gen2, I checked my motherboard, it's x4 at Gen 3 speed, what could be the issue?

mcglynnj wrote:
RookieDaniel wrote:But it says 70 even when the system is idle. Can you confirm is it in Celsius or Fahrenheit? Also the operating temperature (55 Celsius), is it the one I have to compare with?

Celsius, because 70F is around 21C, which is just about typical room temperature. I have one of the M.2 cards as well and I had to stop using it because I was getting readings of around 95C and it was hot enough to make me flinch when I pressed my pinkie finger against the biggest chip.

Strange, it says on the spec-sheet that the pack contains a heatsink and fan... which I didn't get with mine... and I have not been able to locate a photo of what this heatsink looks like (and if it is at all possible, to get one separately).


It does comes with a tiny fan and you have to stick it on "the biggest chip", till now I got 87C at maximum.