paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] No field allowed after an array field


From: Michal Podhradsky
Subject: Re: [Paparazzi-devel] No field allowed after an array field
Date: Thu, 15 Oct 2015 09:29:14 -0700

Hi Felix,

just FYI your proposed fix works (thanks!) so I suggest we merge it in master and 5.6
Do you want me to do the pull request or do you prefer just using the existing commit?

M

On Fri, Oct 9, 2015 at 2:46 AM, Felix Ruess <address@hidden> wrote:
Hi Michal,

I don't really have time to check all this right now, but you could try out my messages_multi_var_array branch.
Essentially I limited the generation of the problematic get macros to datalink messages (should only be needed there anyway): https://github.com/flixr/paparazzi/commit/c9051935f57ee1cf7b6de908dafddd9faf16ab54

Not sure if all other parts handle multiple variable length correctly, but it looked that way at quick glance.

Cheers, Felix

On Fri, Oct 9, 2015 at 12:59 AM, Michal Podhradsky <address@hidden> wrote:
HI Felix,

thanks for a quick response. So I guess the question then is are you willing to implement this feature? I am sadly not a big friend with Ocaml...
I need to see the values in the messages box as they arrive, so I would rather not use the "array workaround".
Thanks
M

On Thu, Oct 8, 2015 at 3:31 PM, Felix Ruess <address@hidden> wrote:
Hi Michal,

while having multiple variable length arrays in one message is currently not supported, I don't see any insurmountable problem why it shouldn't be possible to implement that.

The only "workaround" that I can think of would be something like stuffing both the raw measurement and the temp in one 32bit value (low 16bit for raw, high for temp) and extracting that again later.... but that is rather ugly.
Or send two messages with one variable length array each and add a timestamp so you can easily correlate them again.

Hope that helps,
Felix

On Thu, Oct 8, 2015 at 12:42 AM, Michal Podhradsky <address@hidden> wrote:
Hi,

I am measuring a couple of variables with external ADC, connected to the autopilot over i2c. I need to send down the data in a single message, which will look roughly like:


   <message name="BATTERY_MONITOR" id="216">
    <field name="adc_trans_stat"     type="uint8" values="Pending|Running|Success|Failed|Done"/>
    <field name="adc_raw" type="uint16[]" unit="mV"/>
    <field name="adc_temp" type="float[]" unit="C" />
  </message>

but when I have two arrays in the messages I get "No field allowed after an array field" error.

Is there some easy/quick workaround?

Would be possible to implement support for multiple arrays in one message? I have at least 8 channels to read from, so having individual variables both in raw and scaled values would make the message very long and not flexible.

Thanks for info!
M

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]