OnWorks favicon

SimpleDCS to run in Linux online

Free download SimpleDCS to run in Linux online Linux app to run online in Ubuntu online, Fedora online or Debian online

This is the Linux app named SimpleDCS to run in Linux online whose latest release can be downloaded as simpledcs-1.0.11.tar.gz. It can be run online in the free hosting provider OnWorks for workstations.

Download and run online this app named SimpleDCS to run in Linux online with OnWorks for free.

Follow these instructions in order to run this app:

- 1. Downloaded this application in your PC.

- 2. Enter in our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.

- 3. Upload this application in such filemanager.

- 4. Start the OnWorks Linux online or Windows online emulator or MACOS online emulator from this website.

- 5. From the OnWorks Linux OS you have just started, goto our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.

- 6. Download the application, install it and run it.



SimpleDCS to run in Linux online


SimpleDCS is a Distributed Control System made easy - fully configurable both on hardware and a software level. Experimental stage (alpha)


  • Separation of hardware-level control and external soft-level control - different processes are used, and the HW-level control can be used without soft-level (external) control process.
  • Memory mapper module (mod_mmap) - allows to seamlessly exchange any kind of data between different physical devices (over network). This also allows to create network topologies of any kind, as any device can be mapped to any other device and vice-versa.
  • Network connections are encrypted, using custom symmetric encryption algorithm, which is ultra-fast (but of moderate strenght) - designed for small embedded systems.
  • Each of device/node module is running as a separate thread, with configurable priority and CPU affinity.
  • Supervisor thread: controls execution time of device/node module threads.
  • Thread-crash proof, thanks to use of C-exceptions (libcxc) - a crash in a sub-thread causes switching to a "SafeMode", where all the HW I/Os are set to a pre-configured state. See mod_crashtest code, which was used for testing :)
  • Low-level DAQ - Data Acquisition subsystem, with Time Compression and Dead Band support - works in the background, no human intervention needed.
  • High-level DAQ - Data Acquisition subsystem - implemented as a client application (DaqViewer) - allows to view, analyse and save historical records.
  • HAL: Hardware Abstraction Layer: currently only one HW platform is supported (BCM2835), but it allows to compile and run the whole project on an x86 PC for testing - all the HAL functions are stubs in such case.
  • MAL: Memory Abstraction Layer: allows to easily define/configure memory location address for exchanging data between different physical devices and for DAQ. The MAL implementation is based on a simplified absolute pointer structure (max segment size is 2MB).
  • Both MAL and HAL functions are accessible for device modules (trough plugin interface).


Advanced End Users, Developers

User interface

Non-interactive (Daemon), wxWidgets

Programming Language

C++, C

This is an application that can also be fetched from https://sourceforge.net/projects/simpledcs/. It has been hosted in OnWorks in order to be run online in an easiest way from one of our free Operative Systems.