Hobbywing Telemetry Test w/ Double-Telemetry-Path

In case you do not know something or you are not sure, here is the right place for your question.
Post Reply
User avatar
HeliMLM
Posts: 370
Joined: Tue 10. Mar 2020 14:36:22

Hello Tomas,

as there was a lot discussion in the last weeks around temperature values reported via Hw telemetry (and me too i was not confident about the measurements), i did a slight test: i have mounted a j-log(s32) in addition to Spirit 2 telemetry on my Logo444SE and both had the chance to give their telemetry-values at the same time out of the very same flight.

attached you can find a pic of the log (if you need the full log, no problem) - i have configured same colors for same values: as you can see all common values do match +/- perfectly, the only one being not OK is the purple one: Spirit temp. quickly was up at 93°C and j-log reported a max. FET temp. of 48°C.

... all the people used to (~ coming from) other telemetry implementations are afraid of burning down their Escs ;)

Ciao
Michael

nb: test-setup: the Hw80 v4 was connected as normal with Spirit 2 telemetry cable. Spirit is connected via EX bus to Rex3 (E1). j-log S32 was attached to Rex3 / E2 and the signal wire only (orange) of the Hw's telemetry port was y-cabled to j-log's signal in. so both telemetries worked in parallel.
Attachments
Bildschirmfoto 2020-08-05 um 16.27.48.png
cheers
Michael
User avatar
Loetefix
Posts: 50
Joined: Thu 02. Jul 2020 13:51:48
Location: Germany / Cologne

Hi,

Calculating the temperature from the raw data of HW is a litle tricky. Here is how i did it in my HW2S.Port Arduino Projekt.

float calcTempHW(uint16_t tempRaw)
{
uint16_t tempFunc[26][2] =
{{0, 1},
{14, 2},
{28, 3},
{58, 5},
{106, 8},
{158, 11},
{234, 15},
{296, 18},
{362, 21},
{408, 23},
{505, 27},
{583, 30},
{664, 33},
{720, 35},
{807, 38},
{897, 41},
{1021, 45},
{1150, 49},
{1315, 54},
{1855, 70},
{1978, 74},
{2239, 82},
{2387, 87},
{2472, 90},
{2656, 97},
{2705, 99}};
if (tempRaw > 3828)
return 0;
if (tempRaw < 1123)
return 100;
tempRaw = 3828 - tempRaw;
uint8_t i = 0;
while (i < 26 && tempRaw >= tempFunc[0])
{
i++;
}
return tempFunc[1] + (tempFunc[1] - tempFunc[1]) * (float)(tempRaw - tempFunc[0]) / (tempFunc[0] - tempFunc[0]);
}

The result is the same like in jlog with this way.
hope it helps a little.
ZeXx86
Site Admin
Posts: 12836
Joined: Mon 29. Apr 2013 16:06:44
Contact:

Hello,

thank you for the message. We know the measurements are different but it is intentional.
It seems people are very confused so we will change the output in next update.
Then all will be good I believe.
Spirit System developer
User avatar
HeliMLM
Posts: 370
Joined: Tue 10. Mar 2020 14:36:22

great to hear Tomas,

thx a lot for the update... will help for sure against all the confusion ;)
cheers
Michael
Post Reply