<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Romuald,<br>
<br>
welcome :-)<br>
<br>
<div class="moz-cite-prefix">Am 27.04.23 um 15:06 schrieb Romuald
Conty (Opus Codium):<br>
</div>
<blockquote type="cite" cite="mid:3790660.zbcBz8CA7i@violin">
<pre class="moz-quote-pre" wrap="">To reach my goals, I'll have to:
- Read two CAN buses to grab and display values on a HUD
- Make an expansion board with some IC which requires to talk using I²C
- Publish events on a third CAN bus which exposes additional sensors values
</pre>
</blockquote>
<br>
<blockquote type="cite" cite="mid:2424373.9BHdbWLVS3@violin">[...]
To do it periodically, you would need a task
<pre class="moz-quote-pre" wrap="">Is there is a code base to write a task in OVMSv3 context? or a similar code
that have the right architecture in current firmware?</pre>
</blockquote>
<br>
There is a `TaskBase` class, but that doesn't offer much of an
advantage for your use case. Creating a task really is very simple
with FreeRTOS.<br>
<br>
Examples:<br>
<ul>
<li>The `obd2ecu` component derives & publishes HUD data using
a task and seems to be close to your use case.</li>
<li>The `retools_pidscan` component uses a task to scan for PIDs
on OBD2/ISO-TP devices.</li>
<li>The `canopen` component uses worker tasks to handle async
CANopen protocol communication.<br>
</li>
</ul>
Regards,<br>
Michael<br>
<br>
<pre class="moz-signature" cols="72">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
</body>
</html>