Skip to content

ft/chip-remote

Repository files navigation

  chip-remote: A protocol for remote controlling runtime-configurable chips


Note: The framework was recently re-written. The documentation is NOT AT ALL
      up-to-date with this new implementation.


Many powerful and flexible electronic parts, are configurable at runtime via
simple interfaces like SPI or I2C. In prototyping, revising and testing, it is
useful to be able to control these chips from a computer, preferably via a high
level programming language.

This project specifies a protocol, that a common personal computer can talk to
a controller, that can actually talk to such configurable slave devices. The
protocol design attempts to support multiple configurable chips on different
interfaces with a single controller connection.

Much of the protocol is optional, to be able to implement compliant firmwares
for the most low-cost micro-controllers available.

The reference client implementation is done in Guile scheme. Scheme is a very
high-level programming language of the Lisp variety, that has (even though it is
one of the oldest programming languages available) a host of very powerful
features. Guile scheme is a free software implementation of the language, with a
lot of extensions, that is readily available on many platforms.

The remote-board firmware implementation has been done in C and is based upon
the Zephyr Open Source RTOS.


Current contents:

  Directories:

  - doc/

    Here you will find the system's documentation, including the protocol
    specification as well as the client library manual.

  - examples/

    Contains example scripts that use the client library. Most of these are
    outdated at the moment.

  - firmware/

    This directory contains an implementation of a remote firmware for
    microcontrollers based on the Zephyr Open Source Real Time Operating
    System.

  - scheme/

    This directory holds the reference implementation of the client library
    written in GNU Guile scheme.

  - tests/

    Shockingly, this directory contains the project's test-suite.

  - tools/

    Here, you can find some helper scripts, that may be useful when hacking on
    chip-remote source code.


  Files:

  - Makefile: The top-level Makefile takes care of byte-compiling the scheme
    client library, generating documentation, running the system's test suite
    etc. If you have all required dependencies at your disposal and updated all
    submodules correctly, you can do ‘make happiness’ to generate most of the
    system in one go.

  - common.mk: This is a make file snippet defining all source files of the
    scheme client library for chip-remote. It is used by Makefiles.

  - LICENCE: The file contains the licence used with all software of the
    project. Note that “rccep-spec.org” uses a different licence that is
    contained at the bottom of the file.

  - README: This file...

About

Remote Control of Configurable Electronic Parts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages