vlad_vy wrote: PB, can you change at main trunk next things?
Also, for() cycle doesn't work. It seems all values are writed to Telemetry.p.dsm.flog.fades[0].
case 0x7f: //TM1000 Flight log
case 0xff: //TM1100 Flight log
update = update7f;
//Telemetry.p.dsm.flog.fades[0] = pkt16_to_u8(packet+2); //FadesA 0xFFFF = (not connected)
//Telemetry.p.dsm.flog.fades[1] = pkt16_to_u8(packet+4); //FadesB 0xFFFF = (not connected)
//Telemetry.p.dsm.flog.fades[2] = pkt16_to_u8(packet+6); //FadesL 0xFFFF = (not connected)
//Telemetry.p.dsm.flog.fades[3] = pkt16_to_u8(packet+8); //FadesR 0xFFFF = (not connected)
//Telemetry.p.dsm.flog.frameloss = pkt16_to_u8(packet+10);
//Telemetry.p.dsm.flog.holds = pkt16_to_u8(packet+12);
for(int i = 2; i < 14; i+=2) {
*(u8*)&Telemetry.p.dsm.flog = pkt16_to_u8(packet+i);
}
Telemetry.p.dsm.flog.volt[1] = pkt16_to_volt(packet+14);
break;
Guys, you start killing me
That code block has been changed a long time ago with my first posting by Mike and Indigo:
www.deviationtx.com/forum/protocol-devel...port?start=100#26681
Of course it never has been merged to team repository or PB repository - not yet.
Mike and I had to put back the "1st pull request" for PB repository.
It is now fixed in dsm-telemetry branch (Indigo repository - 2nd pull request team repository) FOR AGES - fixing the overwrite.
We had two tickets open, one opened by me (code change by Mike, taken over by Indigo with further improvements). See commit log.
May I ask you in how many repositories are you now changing and testing code in parallel?
How many developers change code in parallel? Three? In three repositories? Indigo, PB, Vlad?
According to your latest threads you change code on-the-fly (in threads), locally creating test build versions?
So there are now test builds with not equivalent source code too? Only small (debug) changes?
Why do you now have to fight with wrong - already fixed - code at team main trunk??? I really get lost!!
PhracturedBlue wrote: Where is this all going?
I have to admit I'm very skeptical of the process at the moment. When I look at Indigo's code, it has a lot of change compared to the trunk in DSM and Devo protocols. I don't really understand what much of that change is buying me. In Devo, it may result in eliminating the 'Reboot' condition, but at least at the moment, it will come at the cost of major refactoring of the callback loop, and the Reboot condition itself is not causing any issues (any more). In DSM2 the code refactor may reduce Holds? I belive the original intent was to improve reception rate (eliminate invalids and bogus data)? What else does it achieve? All of that change comes with inherent stability risk to the most commonly used protocols. It makes me very nervous, especially with 9 out of 10 builds seeming to have major issues that make it unusable. I really need to see concrete gains, and then I will wonder whether those gains can be had with less change to the protocol code.
And then there are at least two to three threads too: Walkera telemetry - DSM telemtry - OrangeRX DSMx range problems.
Your question is related to DSM - but posted to Walkera thread.
To answer your question PB, I want to answer in this thread:
1) It all started with the above DSM telemetry code fixes. FlightLog DSM telemetry is / was corrupted in (PB+team) trunk - see my above first post.
2) "9999" values improvement (see tickets 180CFX, 200SRX): AR8000 can have >255 Fades too!
3) And then in all versions (starting offical team trunk, Indigos test builds) there are (still) corrupt DSM FlightLog telemetry data - see my new videos.
Indigo wrote about point 3) in another thread - I believe it was "DSMx range thread" why he did it and for what reason (separating RX + TX buffers).
Indigo was working on point 3) to eleminate bogus DSM FlightLog data. It seems it is not fixed yet - at least I missed that success posting by other developers / Indigo / re-testers.
I have not done any Flightlog re-tests since my video with new test build versions with original Spektrum RX+TM either.
Thomas.Heiss wrote: Confirm 5) Temp value '18186C' for disconnected sensor (tested on AR8000)
New error: Fades will be reset to 0 after some time (max 0xFF/255 bit counter on A for 6CH RX a problem?)
Flightlog (fades): Jumping numbers as previously described (problem goes back to nightly version 92e1705)
FlightLog test videos 36cce5c with 100uw (not 100mw) output power:
modellbau.theiss-nbg.de/Deviation-TX-Nig...5c-DSmx_TM1000_Tests
All videos finished uploading.
4) A new problem rise with (some / one) of Indigos test builds: TX + RX lockout. DSM lock with no ever changing new telemetry data.
At least I had that issue once. See one of my tests back where I even got a DSMx TX lockout (lost of bind) with my 200QX at the table.
5) Indigo had very good ideas how to further improve the telemetry monitor screen like alarming, flickering values, alarm stop by ENT button. Re-alarmings.
We also had to change code for the stepping of "1" (holds) and 10 (Fades) since the increments where
wrong in the config screen in trunk. The config screen also had wrong comparator (<=0, >=0, >0) to check for holds >0!
If we can not fix points 4) and 3) we have no real benefit and we would have to rollback all changes. But we loose all new and fixed features of point 5)!
IMHO it is the wrong time to throw away all the hard work of Indigo and all the detail improvements which already went into!!! I want them!
I just can tell you that you can NOT use trunk version 92e1705 for DSM telemetry with all that bogus data and invalid stepping configurations and missing re-alarms on FrameLosses and Holds. All stuff the DX8 has - but I hate that Airware version. And I now own a Devo 10.
Point 3) bogus flightlog telemetry data is still open at my side.
Who of you could already take a deeper look in the recorded DSM flightlog telemetry vids?
What is your feedback? Did I miss it?
I had been flight testing trunk 92e1705 + 2-4 Indigo's further (early) test builds with the 200QX. Had no TX lockout during the flight(I could not fly that far away!!).
I have no idea if point 4) is something new introduced by all the new code changes or if that might even was already in 92e1705.
According to thread "DSMx range problem" problems may have already been there before we started re-engineering.
On the other side pilots even had no clue about if they had to choose 100uw/300uw/1mw for range testing before - so that might have given wrong results too?!? For Full-Range flight tests with 100mw and TX connection problems it is again different (results count).
But who would rely on test results for 3rd party Non-Spektrum RX like OrangeRX? Not me! They could have been problems because of SBEC ESC too just like I had once with DX8 and two ESCs.
One of the biggest problems:
You guys seem to have
to code (almost) blind because of missing multiple original Spektrum RX, BNF quads + TM1000/TM1100. We would even have to test with 9-12CH receivers!
In the other "DSMx range problem" thread guys are testing wrong (TX lying on/above ground) or with Non-Spektrum equipment (OrangeRX/LemonRX) or without telemetry enabled (missing Flightlog DataPort).
One guy writes he wants now to test with 150mw, even within the EU only 100mw are allowed.
Why not compare each test build version with the same uw/mw and linked Spektrum TX (e.g 1mw on ground range-test) equipment.
So even all the testers - with all this different RX equipment - can not commit on a permanent testing pattern consistent over each test build version.
FlightLog Logging:
Maybe PB / a senior DeviationTX dev could tell me how to successfully record Flightlog DSM logfile data and publish all the bogus additional numbers which may or may not be an indicator of additional "TM1000 / telemetry out-of-range"?
Unfortunately I was never successful in enabling the log file and read from it in Linux once I rebooted into USB mode. It was empty always!
Because of all point 3) code improvements and re-engineering we now see values which were badly supressed before (>255 -> 255 fixed value).
I agree with PB's statement that it will probably still take a longer time to test thru all code changes by multiple testers with multiple RX equipment until we have a final working version which is ready for a public commit to team trunk.
However I am very delighted that Mike and Indigo took my code fixes and small 8bit/16bit improvements (9999 numbers).
Thank you working together!
All the "DSM Telemetry problems/enhancements" have got so many developers and testers active trying to further improve and help bugfix continuous.
I greatly appreciate all your efforts you put into.
I am sorry to see that new test builds might bring unforeseen new TX<->RX / lock or connection lost problems (when you trying to fix that initially) at this time or the code changes are already too big to be reviewed in steps and you now fear a final trunk commit. Please don't give up and keep trying.
Is there maybe any way to split the summary of "total code changes" to individual steps which may be safely committed one by one?
- Changes which are for sure
- improvements which are safe and
- RX/TX/connection/filtering code which needs to be tweaked and tested more in detail? Comparing Walkera + DSM code...
Do you have any idea how you might get away from "blind coding"?
Thanks again to all of you who stepped into helping to bugfix and trying to further improve.
Thomas