MOWE Automatic Topology Generator - OUWECAD/MOWE GitHub Wiki
Introduction
The Automatic Topology Generator (ATG) is a MATLAB tool to graphically design a MOWE array and automatically generate all required configuration and topology files, saving developers a lot of tedious, error-prone work. The tool is particularly useful when dealing with predefined arrays, i.e., when the array topology is predefined in the module firmware.
The tool generates two outputs: a Matlab figure showing the array configuration graphically where transmitter modules are shown in red and receiver ones in green; And a topology header file. The header file "topology.h" is used in the firmware to setup module part number, port swap configuration, and array topology for routing and inter-array communication routines. The same file is used to setup the MOWE-Tandy Simulator.
You can check an example topology header [file](https://github.com/OUWECAD/MOWE/blob/master/Tools/MOWE ATG) that corresponds to the array below as well as some premade topogy files [here](https://github.com/OUWECAD/MOWE/blob/master/Tools/Sample Networks).
.
How to use the tool?
Run the script "topogen.m" in Matlab.
Available commands:
-
helpList of available commands. -
sizeDefine module's optical resolution size (20mm/30mm).Example:
size 20mmsize 30mm -
hexamodeDefine hexagon module orientation: horizontal or vertical (h/v).Example:
hexamode hhexamode v -
add shape type px>my:pyAdd a new module. Shape: hexagon or pentagon (hexa/penta). Type: transmitter or receiver (tx/rx). Port 'px' from this module connects to port 'py' from module 'my'. The software will check and warn you if the port is already taken by another module.Example:
add hexa txadd hexa rx p1>m1:p3add hexa tx p3>m2:p6 -
make mcu filenameGenerate the header topology file for MCU firmware. If you do not specify a filename the default name 'topology.h' is used. -
make sim filenameGenerate the header topology file for MOWE-Tandy simulator. If you do not specify a filename the default name 'topology.h' is used.Example:
make topo_tri_10 -
exitQuit the software.
Notes:
- The tool currently does not support pentagon modules.
- The tool currently does not support curved arrays.