Dear NuttX community,

I am delighted to announce I was accepted into the Google Summer of Code
event, participating in Firmware Upgrades over Silicon-Heaven Protocol for
NXboot Demonstrated on pysimCoder.

I am writing this a bit late because I was finishing a lot of work at
university. But now that I have more time, I would like to introduce
related subjects and ask some questions as well.

Firstly, I want to congratulate Michal Matias, a colleague of mine who also
participates in NuttX GSoC.

The goal of this project is to leverage the Silicon Heaven (SHV) protocol.
This protocol was specified by the Czech company Elektroline, a.s. and it
is used for remote procedure calls. The protocol is fully open, as well as
the implementations in various programming languages, such as Python, Rust
and C.

For example, see all implementations here: https://github.com/silicon-heaven
.
Documentation: https://silicon-heaven.github.io/shv-doc/.

The SHV protocol is also used in pysimCoder, a block diagram editor used to
create rapidly prototyped applications for control engineering purposes,
specifically for remote tuning of blocks' parameters (such as reference
values or values of PID controllers). This can simplify the design of the
control application. The work was carried out by Michal Lenc, a former GSoC
contributor and now my mentor.

The goal of my project is to integrate the SHV protocol fully in NuttX.
Despite the existing C SHV implementation, I aim to use the pieces from the
pysimCoder that fit better for memory-constrained devices. My first step is
to add new features to this implementation so it can be used with other
parts of the coding task.

The second part of this project is to implement an add-on for the NuttX
bootloader (NXBoot). This application will connect to the SHV
infrastructure and download a new firmware image to be booted by NXBoot.
Moreover, in my case, this firmware updater will be used within pysimCoder
to flash new images with a new model.

>From the NuttX perspective, the seamless integration of SHV into NuttX is
very important. The integration should allow any user to use SHV for any
application that requires remote procedure calls, using a documented SHV
API, even outside the NXBoot firmware updater. Also, the NXBoot firmware
updater will become part of the NuttX codebase.

I have got some questions:

1. How is the NuttX community leaning towards cloning new repositories? The
plan is to use a standalone repository for the lightweight SHV C
implementation.

2. Where should the SHV implementation reside? My best bet is to put it
into apps/netutils but I need to export the .h files API to any application.

3. Does NuttX have some internal implementation of data structures, such as
lists, trees, etc., generally for any datatype? The current implementation
of pysimCoder's SHV methods depends on an external library. This question
also concerns the first question.

I am looking forward to participating in this project and cooperating with
the rest of you.

Best regards,
Štěpán Pressl

Reply via email to