Andrew: Did you test the GNSS parameter conversion? Sid: No, I did not. Will do. S: I’m getting some units which return NAK when I try to configure GLONASS. Which is weird. A: You are using parameters to tell the user what capabilities are there in the receiver. That’s not how we usually do things, I’m not a fan. I would prefer a system file which the user would read. S: This won’t work well for receivers on AP_Periph. A: I think I would prefer to have a debug flag, which would trigger very verbose output on the statustext.
Perhaps for low-flash boards we can skip including this capability.
UTC0727
A: Last week we talked about having the ability to have this origin published even when you’re on non position-hold modes, e.g. ALT_HOLD. This would allow tools to show you where you are on the map. Randy: Yes, that’s not a bad idea.
This one tries to save the origin at arming, which isn’t what we want to do usually. We want to be dong it from before, otherwise we get a race condition.
Also, setting of the origin should not be happening with the arming checks. These can get disabled or run without actually arming.
Peter: Agreed. Arming checks should be const. R: Also, you get this scenario: You are in LOITER and you are failing to pass prearm because you don’t have position. Then you try to arm, you fail but this new functionality sets the origin. And then you can arm. P: No, the setting of the origin is getting set on the arming itself, not on the checks. R: I still don’t like how this is interjected inbetween the arming checks. I would prefer this is scheduled separately and makes a decision before arming.
UTC0755
UTC0759
Merged!
UTC0800
P: We don’t normally instantiate a class from another class. It’s not a good pattern.
Lift the parsing parts and move it to AP_CRSF.
Andy: I think the code has a good structure as-is.
And it allows me to achieve the functionality I want. A: Indeed we try to avoid multiple inheritance. Andy: I’m happy to come up with another PR to try and refactor things.
In the future, I also plan to use the new CRSF spec to provide AHRS through CRSF.
A: We definitely need to break up this double inheritance before we attempt that.
Take a look at the GSOF on how it does it.
P: That’s not a good source of inspiration. DroneCAN is a better example. A: Something else: If you want to use CRSF for non-RC input applications in the future, then probably that serial port shouldn’t have to be marked as “RC” protocol.
UTC0827
MergeOnCIPass
UTC0828
Andy: We are just waiting for testing on this.
UTC0830
P: How is latency reduced here? Andy: It reduces the time it takes to check for the bytes to write. A: We probably need a mutex inside fill_read_buffer().