From c456b159166544d9359e3dea7d889400a9b7cf8d Mon Sep 17 00:00:00 2001 From: Michal Lenc Date: Tue, 3 Aug 2021 14:04:09 +0200 Subject: [PATCH] Documentation: add guide for pysimCoder integration with NuttX This commit adds documentation for compiling NuttX for pysimCoder and then running pysimCoder designed applications on NuttX. PysimCoder is a Rapid Control Application Development Tool that can transfer block diagrams into C code and can be used in real time control applications. Signed-off-by: Michal Lenc --- Documentation/guides/image/interface.png | Bin 0 -> 80684 bytes Documentation/guides/image/menu.png | Bin 0 -> 16128 bytes Documentation/guides/image/template.png | Bin 0 -> 22627 bytes Documentation/guides/index.rst | 1 + Documentation/guides/pysimcoder.rst | 158 +++++++++++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 Documentation/guides/image/interface.png create mode 100644 Documentation/guides/image/menu.png create mode 100644 Documentation/guides/image/template.png create mode 100644 Documentation/guides/pysimcoder.rst diff --git a/Documentation/guides/image/interface.png b/Documentation/guides/image/interface.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3001caeb7d18e343f731e378965e5bf85faadd GIT binary patch literal 80684 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

Xkht*^^zYq=Ttx{MF~@|sd}${+RI{jRD>7Cqaw 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�-DV<;w)gj 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 S-^WNh#5YL=iE1&U!2bt5E`ihl literal 0 HcmV?d00001 diff --git a/Documentation/guides/image/template.png b/Documentation/guides/image/template.png new file mode 100644 index 0000000000000000000000000000000000000000..3852feb0af53b7695f99080db89f46496cd212e0 GIT binary patch literal 22627 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 is as an open source +Rapid Control Application Development Tool which is able to transfer block diagrams into C code. +Combined with NuttX, it can be used in real time control application and as an alternative to +expensive licensed programs and prototyping platforms. Example of `DC motor control application +`_ with PID controller and blocks for encoder, +PWM, GPIO and sending data over TCP to real time plotter can be seen on `NuttX Channel +`_. + +This documentation describes the steps that are needed to run application generated by pysimCoder +on NuttX and also keeps the track of peripherals that are supported by pysimCoder for NuttX RTOS. + +Peripheral Support +------------------ + +The following list shows the peripherals and fuctionalities supported in pysimCoder for NuttX RTOS. + +========== ======================= +Peripheral Notes +========== ======================= +ADC +CAN Including SocketCAN +DAC +ENC +GPIO +PWM Multichannel support +UART Serial output +Sensors Basic support for DHTXX +TCP +UDP +========== ======================= + +Please note that the actual support for NuttX peripherals can be wider that what is mentioned here +in case this documentation was not updated when new fuctionalities were added to pysimCoder. + +NuttX Configuration +------------------- + +Several configuration options are neccessary to be set in order to succesfully compile pysimCoder +with NuttX. The list is the following: + +==================================== ===================================== +``CONFIG_ARCH_RAMVECTORS=y`` ``CONFIG_NSH_FILE_APPS=y`` +``CONFIG_BOARDCTL_APP_SYMTAB=y`` ``CONFIG_NSH_LINELEN=64`` +``CONFIG_BOARDCTL_OS_SYMTAB=y`` ``CONFIG_NSH_READLINE=y`` +``CONFIG_BUILTIN=y`` ``CONFIG_NSH_ROMFSETC=y`` +``CONFIG_CLOCK_MONOTONIC=y`` ``CONFIG_PSEUDOTERM=y`` +``CONFIG_ELF=y`` ``CONFIG_PTHREAD_CLEANUP=y`` +``CONFIG_FS_BINFS=y`` ``CONFIG_PTHREAD_MUTEX_TYPES=y`` +``CONFIG_FS_PROCFS=y`` ``CONFIG_PTHREAD_MUTEX_TYPES=y`` +``CONFIG_FS_PROCFS_REGISTER=y`` ``CONFIG_PTHREAD_STACK_MIN=1024`` +``CONFIG_FS_ROMFS=y`` ``CONFIG_RR_INTERVAL=10`` +``CONFIG_FS_TMPFS=y`` ``CONFIG_SCHED_WAITPID=y`` +``CONFIG_IDLETHREAD_STACKSIZE=2048`` ``CONFIG_SERIAL_TERMIOS=y`` +``CONFIG_LIBC_EXECFUNCS=y`` ``CONFIG_SYMTAB_ORDEREDBYNAME=y`` +``CONFIG_LIBC_STRERROR=y`` ``CONFIG_SYSTEM_NSH=y`` +``CONFIG_MAX_TASKS=16`` ``CONFIG_SYSTEM_NSH_STACKSIZE=4096`` +``CONFIG_NSH_BUILTIN_APPS=y`` ``CONFIG_USER_ENTRYPOINT="nsh_main"`` +``CONFIG_NSH_FILEIOSIZE=512`` +==================================== ===================================== + +In case you want to use Network and blocks like TCP or UDP, following configuration +options are required: + +============================== ================================== +``CONFIG_NET=y`` ``CONFIG_NET_ROUTE=y`` +``CONFIG_NETDB_DNSCLIENT=y`` ``CONFIG_NET_SOLINGER=y`` +``CONFIG_NETDEV_LATEINIT=y`` ``CONFIG_NET_STATISTICS=y`` +``CONFIG_NETDEV_STATISTICS=y`` ``CONFIG_NET_TCP=y`` +``CONFIG_NETINIT_DHCPC=y`` ``CONFIG_NET_TCPBACKLOG=y`` +``CONFIG_NETINIT_NOMAC=y`` ``CONFIG_NET_TCP_KEEPALIVE=y`` +``CONFIG_NETUTILS_FTPC=y`` ``CONFIG_NET_TCP_WRITE_BUFFERS=y`` +``CONFIG_NETUTILS_TELNETD=y`` ``CONFIG_NET_UDP=y`` +``CONFIG_NETUTILS_TFTPC=y`` ``CONFIG_SYSTEM_DHCPC_RENEW=y`` +``CONFIG_NET_ARP_SEND=y`` ``CONFIG_SYSTEM_NTPC=y`` +``CONFIG_NET_BROADCAST=y`` ``CONFIG_SYSTEM_PING6=y`` +``CONFIG_NET_IPv6=y`` ``CONFIG_SYSTEM_PING=y`` +``CONFIG_NET_LOOPBACK=y`` ``CONFIG_SYSTEM_TEE=y`` +``CONFIG_NET_PKT=y`` +============================== ================================== + +Board and application specific configuration like setting up peripherals or boot options might also be required, +please refer to board and platform documentation for those information. Once NuttX is configured it can be build +by simply running: + + .. code-block:: console + + $ make + +Then we need to export build NuttX which can be done by executing command + + .. code-block:: console + + $ make export + +This creates a zip file nuttx-export-xx.x.x.zip where xx.x.x is the version of NuttX. This file then have to be +moved to pysimCoder directory pysimCoder/CodeGen/nuttx, unzip there and then renamed just to nuttx-export. Then +enter the pysimCoder/CodeGen/nuttx/device directory and execute + + .. code-block:: console + + $ make + +This compiles pysimCoder files that controls functions of separate blocks. PysimCoder can be either installed +on the system (please refer to the `pysimCoder manual `_) +or script pysim-run.sh can be used to run pysimCoder without the installation. This script can be found in pysimCoder +root directory and is run by executing command + + .. code-block:: console + + $ ./pysim-run.sh + +Please note that PYSUPSICTRL variable has to be set/exported in order to succesfully compile NuttX application +designed with pysimCoder. + +Using pysimCoder to design NuttX application +-------------------------------------------- + +After running pysimCoder, separate blocks can be selected from the library menu on the left hand side. The menu contains +several libraries, NuttX specific blocks can be found in library "NuttX". It is also possible to use blocks from other +libraries like "input", "output", "math" and so on. Several blocks can have specific parameter options and various number +of inputs/outputs. Double left click on the block openes parameter settings while single right click on the block leads +to number of inputs/outputs setup. The pysimCoder interface can be seen in the picture below. + +.. figure:: image/interface.png + :align: center + :width: 100% + + pysimCoder interface: library menu can be seen on the left hand side + +The NuttX template Makefile nuttx.tmf has to be selected in order to generate code for NuttX target. +This can be done in the top menu by clicking on Block settings icon which is highlighted in the red circle. + +.. figure:: image/menu.png + :align: center + :width: 100% + + pysimCoder menu: red block settings, green generate C-code + +Block settings option open the following window (showed in the picture below) where you can set template Makefile and +also Python skript with parameters for the controllers. + +.. figure:: image/template.png + :align: center + :width: 100% + + pysimCoder Block settings menu + +C code can be generated by selecting Generate C-code icon (highlighted in the green cirle). Executeble files are then +generated and can be flashed into the target. The flashing procedure can be target specific, please refer to plaftorm´s +documentation. The generated application can be then run from NuttX command line by executing:: + + nsh> main