Dear NuttX developers,

I am not in the full sync with the project now
due to load by teaching of the Computer Architectures
course and others, but I have more ideas and project
in the progress.

1) pysimCoder and silicon-heaven
Michal Lenc's pysimCoder project advances well.
His experimental branch shv_basic

  https://github.com/michallenc/pysimCoder/tree/shv_basic

includes integration with silicon-heaven (SHV) which
is the light weight system for distributed service
parameters and process variables access. It has been
started at https://www.elektroline.cz/ company by my friend
Fratisek Vacek and is fully opensource used in the field
worldwide etc. The prototype already allows introspection
to single or even multiple running control applications
generated by pysimCoder. It is tested on Linux now
but pysimCoder supports NuttX well and we expect
to be used with it as well.
NuttX is selected as operating system of choice for
MCU non safety critical targets at Elektroline
for now. SHV provides nice services and is much smaller
than CORBA or DDS. Due to hierarchy of brokers
it allows to build world scale control over TCP when
nodes communicate over NAT barriers easily.
Each non root node only needs to know it superordinated
broker address. When the tree root node is run at public
address then request response and even changes substriptin
communication finds the nearest node with visibility
between two clients and uses it as a proxy.

SHV provides really nice features, is mall etc.
But it is not international standard (yet)...

Does it worth to be offered as NuttX GSoC project?
I am not sure. It will be developed to support NuttX
anyway, but GSoC can speed it and provide frame for better
documentation.

2) ORTE Data-Distribution Service (DDS)
This is different case. It is international standard.
Before my investment and hopes into formerg group at the
university has been buried and burned hard, I have invested
into ORTE project and helped it to architect.

  http://orte.sourceforge.net/

It was at time when Real Time Innovations started NDDS
project and our ORTE implementation of the original
protocol was the second required independed implementation
to allow approve DDS RTPS 1.0 as Internet standard 

  https://www.omg.org/spec/DDSI-RTPS/

When the version 2.0 has been published I have
invested into our implementation update
together with Jiri Hubacek Vlasak

  
https://support.dce.felk.cvut.cz/mediawiki/images/3/37/Dp_2016_hubacek_jiri.pdf

But speak with him on continuation of the work or even
in general has been intentionally and hard way blocked by professor
Zdenek Hanzalek and doctor Michal Sojka later when Jirka was
allocated at proprietary NVIDIA work at university for company
consortium. By the way that work has been paid from European
public money.

Actual DDS RSPS standard is core of ROS 2 system. I have seen
many ROS related activities around NuttX but I am not sure
if some of them attempts to bring DDS really on the NuttX
nodes or all stay on use of agent on GNU/Linux side.
The full DDS would not fit in limited memory nodes or nodes
connected over serial link or CAN.

But on chips like imxRT it could fit well. Our ORTE implementation 
worked on GNU/Linux, BSD, Windows, RTEMS on x86, ARM, PowerPC...
When it is made to be interoperable with actual DDS standard
it can be quite usable.

3) Motion control
We have more than 30 years experience with motion control at our
company. I have provided our know how as open source to our
university and it helped them to participate in EUROBOT competition
etc., but without any reference to the source.... another story..
Anyway, I see generic PMSM motor infrastructure getting into
NuttX now. We have something similar but even with higher level
control. There are some resources related to our Portable eXtendable
Motion Control (PXMC) infrastructure. No fancy promo stuff but works
in robots, industrial systems, medical infussion systems and laboratory
instruments

  http://pxmc.org/
  https://www.pikron.com/pages/products/motion_control.html

Some demo on old robot with our second generation 20 years old
system

  
https://www.pikron.com/pages/products/motion_control/images/mars8_rosegarden.png

Our actual designs

  https://www.pikron.com/pages/products/motion_control/lx_rocon.html

fully open kit

  https://gitlab.com/pikron/projects/imxrt-devel/-/wikis/teensy_bb

all sources in GITs, som in ours, some on SF.net etc... 

  https://gitlab.com/pikron

The command set, N-order coordinated spline trajectory generator
and much more can be reused.

The code has been used without operation system on 16-bit MSP430,
ARMs, on RTEMS, GNU/Linux x86, Raspberry PI, Xilinx Zynq etc..

   https://installfest.cz/if17/slides/so_t2_pisa_realtime.pdf
   
https://pretalx.installfest.cz/media/installfest-2021/submissions/GBKNKE/resources/mz_apo-remote-lab_K5ZFgyq.pdf

Is there some interrest to reuse some such stuff in the GSoC frame?

4) CAN and CAN FD
We work lot in this area. More contribution of my cooleagues
reached NuttX mainline some waits for it. I.e. actual ESP32C3
TWAI/CAN driver by Jan Charvat

  https://github.com/charvj/incubator-nuttx/tree/esp32c3-twai

If you suggest some FPGA we can open project to test our
open source CAN FD IP core and port drivers to it

  https://canbus.pages.fel.cvut.cz/

I have participated on CANopen FD standardization.
We have developed CANopen generic infrastructure
solution in past and I have included NuttX support

  http://orte.sourceforge.net/

Extension to CANopen FD would be another project option. 

My long term goal is to have all these components compatible
with NuttX as well and have portfolio to build final NuttX
applications on demanded easily and in reasonabale time.

Best wishes,

                Pavel Pisa
    e-mail:     p...@cmp.felk.cvut.cz
    Department of Control Engineering FEE CVUT
    Karlovo namesti 13, 121 35, Prague 2
    university: http://dce.fel.cvut.cz/
    personal:   http://cmp.felk.cvut.cz/~pisa
    company:    https://www.pikron.com/
    projects:   https://www.openhub.net/accounts/ppisa
    CAN related:http://canbus.pages.fel.cvut.cz/
    Open Technologies Research Education and Exchange Services
    https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home

Reply via email to