[Top][All Lists]

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

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

From: Felix Ruess
Subject: Re: [Paparazzi-devel] No field allowed after an array field
Date: Fri, 9 Oct 2015 11:46:13 +0200

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):

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".

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,

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

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" />

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!

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

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