Developer Documentation

  1. What is Sandhi?

    Sandhi is a free and open-source visual programming language and editor to replace applications built using LabVIEW.

  2. Prerequisite

    • Knowledge of basic linux commands
    • Knowledge of Python or C++ programming languages
    • System requirement: This software has been tested in Ubuntu 12.04 and Ubuntu 14.04
    • Architecture: Sandhi is a fork of GRAS (GNU Radio Advanced Scheduler). It also incorporates other modules like Sciscipy.
      Architecture
      GRAS is the application scheduler of Sandhi. It enables Sandhi to have closed-loop flowgraphs, dispatch threads, handle thread synchronization and other capabilities. To know more, click here- GRAS Sandhi provides a way to reuse Scilab programs as functional blocks through a wrapper called Sciscipy. Sciscipy is a wrapper written in C language to provide a mechanism to call Scilab's computational engine through Python while taking care of datatype conversion. To know more, click here- Sciscipy

  3. Overview of the block

    A block in Sandhi essentially requires two things: a)XML file (front end block description which is parsed by GRC to display that block) b)Python file (which describes how the block functions) Sandhi, by default, reads any XML block present in ~/.grc_gnuradio. Hence, all our initial development will be done in the .grc_gnuradio folder.

  4. How to create a customized block?

    Since Sandhi is still in beta stages, some of the user-specific block may be missing. A user with limited Python experience can create block using Sandhi's framework. To follow a descriptive, step-by-step and conventional guide click here - Out of Tree Module. A block can be coded either in Python or C++.

  5. Developers contribution

    1. Fork the gnuradio repo from the following link: https://github.com/gnu-sandhi/gnuradio
    2. It will appear in your local github.
    3. Clone the repo from your local github.
    4. Update all your changes/work there.
    5. Send a pull request to us. To know about git click here.

  6. Forum
  7. Contact
  8. Github Repository