#Motor RPM and ESC temp not showing in motor tab when using Fettec 65A esc
1 messages · Page 1 of 1 (latest)
I did a second test wit a Tmotor F7 pro uart 4 esc telemtry wire same issue. So what is changed why Fettec esc telemtry voltage and current works on the 1 wire telemtry but motor rpm is not working
Reminder it works on Bf 4.4.3
Just for my information. Does the telemetry wire also provide the rpm data? (Bidir dshot does not need it.)
Not that i know, just give the information what i use on bf 4.4.3
What i remember Dshot send that info
Main thing we need to figure out is if this issue is specific to the Foxeer H7 Mini in 4.5, or with all Fettec ESCs and 4.5. Need to mix and match FC's with ESCs to find out where the problem lies.
Maybe if title of the post said "No RPM data with Foxeer H7 Mini and Fettec ESC in 4.5", it might better attract the attention of other Foxeer H7 users
Ooohh that's unexpected. I'm confident that RPM telemetry works with that FC and other ESCs, and if the problem exists with several Fettec ESCs, it seems likely that Fettec might have some particular RPM telemetry coding that hasn't kept up with the standard. Maybe reach out to them and see if they have a firmware upgrade for the ESC?
We have recently added some documentation on ESC firmware:
http://betaflight.com/docs/wiki/getting-started/hardware/esc-firmware
Would be great if Fettec could join in, here, and advise us on what we should say about Fettec ESC firmware in relation to Dshot and Extended Dshot telemetry.
@SniperX keep in mind that the one-wire telemetry you're saying is still working refers to ESC Serial Telemetry, not Dshot telemetry. In your case, its the Dshot telemetry that is failing with the Fettec ESCs and 4.5.
I have talked with Fettec, they take a look asap
In your config you turned OFF bidirectional Dshot, which disables RPM readings. You need to turn bidirectional Dshot on to get RPM readings
Nope, biderectional is for rpn filters not for telemtry data. We use it on 4 quads with bf 4.4.3 with no issues
I show tomorrow a video that it works on bf 4.4.3 withou the checkbox biderectional
bidirectional Dshot is for RPM telemetry in general, not just for the RPM filter
So tell me, why it works on bf 4.4.3?
what do I know? Just turn it on to make it work
Fettec don't support biderectional
then I have no idea how they got RPM telemetry over the motor wire. sorry that I cannot help you. let's wait for Fettec's answer 🙂
Because what i understand it is send in the Dshot data
normal Dshot is only sending data from the FC to the ESC. The ESC is not able to send back data to the FC over normal Dshot. that's only possible with bidirectional Dshot. but maybe the ESC sent data back over the telemetry wire
maybe we have an issue with that (telemetry wire) in BF or the configurator
If Fettec has questions about something BF specific, let us know. We'll try to help
Yes, i have direct contact with Felix
@lethal spruce Do change the title of this issue as suggested. Because there is no general issue with showing motor rpm.
Motor RPM and ESC temp not showing in motor tab when using Fettec 65A esc
@lethal spruce can you test with ESC_SENSOR_RPM debug mode in blackbox. Also can check on sensor tab when motor testing is enabled on motor tab.
DEBUG_SET(DEBUG_ESC_SENSOR_RPM, escSensorMotor, lrintf(erpmToRpm(escSensorData[escSensorMotor].rpm) / 10.0f)); // output actual rpm/10 to fit in 16bit signed.
ESC_SENSOR is using telemetry wire on the ESC one direction over UART
@lethal spruce what happens when you enable DShot telemetry slider in the motors tab, save, come back to the motors tab - are all the rpm values red?
@lethal spruce there’s some confusion here.
ESC telemetry has two forms:
- single wire from esc to a uart, otherwise known as serial esc telemetry. If RPM data is acquired this way it does not require DShot telemetry, is very slow, and cannot be used to operate dynamic idle or rpm based filters like dynamic notches.
- DShot telemetry where no serial port is required and the data goes back along the DShot signal wire to the esc and then back to the FC. So we control motor by sending DShot signals one way, and then get rpm and other values back the opposite way, so that’s called DShot telemetry. It’s fast and data dense and we use it for dynamic idle and rpm based dynamic filters etc.
Is the problem that:
- the serial esc telem is not working at all?
- the serial esc telem is returning values for temp and current but not rpm?
- the serial esc telem is working perfectly but DShot telemetry is not providing rpm values?
ESC TEMP works
Current and Voltage also works
Bidirectional Dshot On
Motors dont' spin and ESC temp dont work anymore
OSD gives the same info too
ESC Rpm in OSD stay also on zerro
The Serial esc telem is retuning values for temp and current and voltage but no RPM info see screenshots
They are RED see screenshots
Also esc temp is gone then
Flashed BF 4.5 RC1 same problem so it it 100% sure something is changed between 4.4.3 and 4.5 that brokes the above part
I have talked with fettec, they send esc voltage esc current and esc/motor rpm over telemetry wire. This part works in bf 4.4.3 but not in 4.5 rc1 and 4rc2
if you guys want to do a quick call let me know, but i think all info is here showing no rpm data in blackbox from the motors too. So 100% something broken in the firmware 😦
Ok good. So the issue is simply that:
- the esc does not support DShot telemetry
- it does support serial esc telemetry
- 4.5 doesn’t support rpm data over serial esc telemetry, whereas 4.4 did
That’s clear.
I’m not sure why this happened but I think it was part of refactoring rpm data. Serial rpm data would need to be handled differently because it is too slow for what we use rpm data for.
I don’t think this will be easy to fix.
That is bad news for us. We need 4.5 for RTH safety but also RPM info from the motors
@lethal spruce can you test https://github.com/betaflight/betaflight/pull/13286
Have to put # in front of the PR number
Try again?
I need to select ZULU see the diffrence, i am missing th custom part right
You fixt it
It is working
@agile dust is the MAN 🤟🔥👍👍!
unfortunately it stops working if USE_DSHOT is not defined. we need to refactor this a bit. the PR in its current form is a bit suboptimal
No idear what that means 🙂
When using MULTISHOT or ONESHOT for example
Okay did not know these also used telemetry wire - so have to scoop it out of USE_DSHOT define.
To save flash on MCU targets we use cloud build and defines to isolate code to make it fit the target. USE_DSHOT is used to enable Dshot protocol. Hope that makes sense.
@lethal spruce haha no worries, nothing that concerns you. It works, haslinghuis found the issue. But now I am concerned about several things in the underlying code. there are dependencies between dshot and ESC telemetry that should not be there. I guess more refactoring work for us 🙂
btw. I was the one breaking ESC telemetry
so you can punch me now
Super happy that @agile dust found a solution. Tomorrow field test
Hey @lethal spruce out of curiosity, with the code you have now, are you able to enable rpm filtering, or dynamic idle? The lag from@serial telemetry would likely mean that rpm filtering would lag rapid rpm changes, but would control motor noise when motors are steady. I have a feeling that dynamic idle would be a bit of an epic fail. It has to respond quickly to the rpm changes. I’d be curious to see any logs if you can enable those things. If they can’t be enabled, probably that’s what we intended.
What i already said @whole shale Fetec don't support that
No you misunderstand me
The esc don't talk that way what Felix told me
I’m not talking about DShot telemetry
Once we have rpm data, we can use it
It doesn’t matter how we get it.
wow the esc makes a weird noise when i acitvate that
The only difference is that when we get it from serial telemetry, it is delayed, and that delay could make something like dynamic idle be unusable
So could you enable dynamic idle? If you could, we would want to block that.
Was that weird noise at idle with dynamic idle enabled?
When i activate BIDIR the esc will not boot and makes weird noises
I keep telling you DO NOT ACTIVATE BIDIR
DON’T
Bidir = DShot bidirectional telemetry
It is not supported on your esc!!!
Rpm filtering is enabled in the filters page.
Dynamic idle is enabled in the pid page
Yes, DO NOT turn the bidir switch on!!!!
Indeed no rpm option avalible
Only after setting bdir once and then set dynamic idel the number stays when disable bdir after that
Ok that’s not ideal
But if you just open Configurator, do a clean connect to the board, then can you enable dynamic idle and set it to a value, or is it greyed out?
And the dynamic notch filters?
Configurator may have some weirdness.
No, the dynamic notch filter is not greyed out
I mean the dynamic idle is greyed out
That would be bad, still need that
So i am done for today! Hope you guys can merge it in RC3
Actually my bad the dynamic notch filters are just detected by noise.
Looks like the rpm filters are not available. That’s how they should be.
I know 🙂