Skip to content

Project-GrADyS/SiK-multipoint

Repository files navigation

LinkedIn


Logo

SiK-multipoint

Updated container design that facilitates the configuration of sik radios for multipoint
See more about GRADYS »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage Examples
  4. Contributing
  5. Contact

About The Project

Product Name Screen Shot

Firmware for SiLabs Si1000 - Si102x/3x ISM radios

SiK is a collection of firmware and tools for radios based on the cheap, versatile SiLabs Si1000 SoC.

Currently, it supports the following boards:

  • HopeRF HM-TRP
  • HopeRF RF50-DEMO
  • RFDesign RFD900a
  • RFDesign RFD900u
  • RFDesign RFD900p

Adding support for additional boards should not be difficult.

Currently the firmware components include:

  • A bootloader with support for firmware upgrades over the serial interface.
  • Radio firmware with support for parsing AT commands, storing parameters and FHSS/TDM functionality

See the user documentation above for a list of current firmware features

Multipoint Support - Differences from standard image

New AT Variables

The AT commands, which stand for "Attention" commands, are a set of instructions used for controlling and communicating with various devices, particularly communication modules such as GSM, GPRS, and other modems. These commands are sent to the device through a communication interface, typically serial communication. Here are new commands used for multipoint firmware:

S15: NODEID

MUST be a unique ID on the network, otherwise cross talk will occur Base ID is defined by setting to 0, this is the node that keeps the network in sync with all other nodes. When setting the the NODEID to the base (ie 0) it will always have link to it's self thus link will never be lost.

S16: NODEDESTINATION

This is where all the serial data recived on this node should be sent to. For example, to send all data to the base node only set this to 0. DEFAULT is 65535 which is broadcast to all nodes.

S17: SYNCANY

Sync Any should be used sparingly, this allows any node to sync from any node in the network not just the base. By allowing many nodes to sync from each other they could drift away from the main sync channel, thus efectivly becoming a diffrent NETID.

S18: NODECOUNT

This is the number of nodes in the nework, so if you have 3 nodes (Id's 0, 1, 2) you have a network of 3. In the next revision of the software this could disapear and become auto detect. The easiest way to determin the correct node count for the network is - max(NODEID)+1

Diffrent RT Syntax

All RT's are sent to every node by default, to send them to one node only folow the command with a comma and node id. Example getting the parameter list from base node would be 'RTI5,0'

To see all other available AT commands, see the Documentation

Here is the official radio SiK Repository

(back to top)

What You Will Need

  • At least two Si1000 - Si102x/3x - based radio devices (just one radio by itself is not very useful).
  • A FTDI adapter

(back to top)

Getting Started

Building docker image

Building a Docker image is a crucial step in the process of containerizing and deploying applications. This process involves creating a customized, self-contained environment for an application to ensure consistency and reproducibility across different environments.

  1. Clone the repo
    git clone https://github.com/Project-GrADyS/SiK-multipoint
  2. In the folder, run
    docker build -t multisik-docker .

Creating the container for device reading

  1. With the device connected, run the command below, where <container_name> will be the name of your container:
    docker run -t -i --device=/dev/ttyUSB0 --name <container_name> multisik-docker bash

obs: to check your container name, run docker -ps -a

Enter in the terminal docker

  • With SiK radio and ftdi connected to the computer, run the command below to start the container
     docker start <container_name>
  • if the container is already running and the terminal is not appearing:
    docker exec -it <container_name> /bin/bash

Installing firmware

  1. Enter in folder firmware
    cd /usr/src/app/MultiSiK/Firmware
  2. changing the parameters before installation
    nano /usr/src/app/MultiSiK/Firmware/radio/parameters.c
  3. compiling .ihx images
    make install
  4. uploading firmware: choose the .ihx of your radio model in the obj folder and run the uploader program as in the hm_trp example below:
    /usr/src/app/MultiSiK/Firmware/tools/uploader.py --resetparams --port /dev/ttyUSB0 /usr/src/app/MultiSiK/Firmware/obj/hm_trp/radio~hm_trp/radio~hm_trp.ihx

(back to top)

Usage Examples

For more examples, please refer to the Documentation

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Johan Rocha - johanmarcos50@gmail.com

(back to top)

About

Container for configure sik multipoint

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published