Hi all, Which of the proposed solutions below make the greatest chance to be accepted into Sigrok? Are there enough developers to review this work? Is there an alternative project that can (partly) do what I want to achieve?
Kind regards, Cedric --- original message --- From: via sigrok-devel <sigrok-devel@lists.sourceforge.net> Date: 15.05.2023 22:46:21 To: "sigrok-devel" <sigrok-devel@lists.sourceforge.net> Subject: [sigrok-devel] Support for non-constant sample rates for routing the output from decoders into math channels Hi All, I'm planning to build a mechanism that takes samples from a decoder, and then inject them into a math channel. As far as I can tell, Sigrok assumes a constant sample rate. This is a problem, as the decoder doesn't generate a new output for each and every sample. I see two options to solve this: 1) The decoder pushes copies of the last decoded value into the math channel at the system sample rate. This means a lot of samples in the math channel will have the same value, so this wastes RAM. 2) Implement a way to store both the sample, and the time the sample was taken in the math channel. This adds complexities, as that then requires a mechanic to fill in the missing samples for displaying or if the math channel is used as input for another math channel. What's the best way forward? Keep the constant samplerate in the entire system, or build a system that can deal with different sample rates per channel, that are also non-constant? One advantage I see in the latter, is that such a system can support capturing from multiple input devices, each with their own, potentially also non-constant sample rate. I would like this to exist, so I could use Sigrok to debug a system like this: The system has a i2c temperature sensor, and a PWM output to a fan. In software there's a simple temperature controller, so the fan has to ramp up from 0-100% when the temperature goes from 25-50^C. I would like to calculate / decode the temperature, the actual PWM going into the fan, the expected PWM into the fan, and the difference between those PWM values using these decoders and math channels: SCL + SDA between microcontroller and the LM75 temperature sensor | I2C filter | I2c decoder | LM75 decoder->temperature ^C | Math1 (measured temperature) PWM output to the fan | PWM decoder -> Duty cycles | Math2 (measured PWM) Math1 | Expression: If (Math1 > 50) output = 100 If Math1 < 25 output = 0 else output = (math0 - 25) *4 | Math 3 (expected PWM) Math 4=(Math3 - Math2) <= difference between expected and measured PWM Kind regards, Cedric ________________________________________________________ Your E-Mail. Your Cloud. Your Office. eclipso Mail & Cloud. https://www.eclipso.eu _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel ________________________________________________________ Your E-Mail. Your Cloud. Your Office. eclipso Mail & Cloud. https://www.eclipso.eu _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel