Difference between revisions of "HANcoder/Examples/Adding a customized block"

From OpenMBD
Jump to: navigation, search
Line 3: Line 3:
 
<br>
 
<br>
 
The guide is written based on an example project: a signal tower for the Olimexino STM32.<br>
 
The guide is written based on an example project: a signal tower for the Olimexino STM32.<br>
The signal tower consists of four layers with two RGB LEDs per layer. Each layer can be assigned 16777216 colors (256 brightness levels for each RGB LED).<br>
+
The signal tower consists of four layers with two RGB LEDs per layer. Each layer can be assigned 16777216 colors (256 brightness levels for each LED).<br>
The signal tower is constructed by using eight WS2812B RGB LEDs. These LEDs are are connected in cascade and use a single serial transmission line.<br>
+
The signal tower is constructed with eight WS2812B RGB LEDs. These LEDs are are connected in cascade and use a single serial transmission line.<br>
The timing required for generating the serial signal is implemented in C-code by using the SPI bus of the STM32 microcontroller. As the STM32 on the Olimexino features two SPI channels (SPI1 and SPI2), the SPI channel can be selected as the block's parameters.<br>
+
The timing required for generating the serial signal is implemented in C-code by using the SPI bus of the STM32 microcontroller. As the STM32 on the Olimexino features two SPI channels (SPI1 and SPI2), the SPI channel can be selected as a block parameter.<br>
 
<br>
 
<br>
 
The resulting block in Simulink is depicted below:<br>
 
The resulting block in Simulink is depicted below:<br>
Line 11: Line 11:
 
<br>
 
<br>
 
<br>
 
<br>
The files that have been added or updated with respect to HANcoder Beta V1.0 can be downloaded [[File:here]].<br>
+
The files that have been added or updated with respect to HANcoder Beta V1.0 can be downloaded [[:File:HANcoder-STM32-Target-v1.0-Signal-Tower.zip]].<br>
The following parts provide a detailed description of these files and changes that should be applied.<br>
+
The following parts provide a detailed description of these files and additional changes that need to be made.<br>
 
* Part 1: [[C source code]]
 
* Part 1: [[C source code]]
 
* Part 2: [[Matlab/Simulink files]]
 
* Part 2: [[Matlab/Simulink files]]

Revision as of 19:56, 28 February 2019

This is a step-by-step guide for creating a custom block in MatLAB/Simulink and how to use custom functions written in C-code.
This guide assumes that HANcoder Beta V1.0 has been downloaded and installed successfully.

The guide is written based on an example project: a signal tower for the Olimexino STM32.
The signal tower consists of four layers with two RGB LEDs per layer. Each layer can be assigned 16777216 colors (256 brightness levels for each LED).
The signal tower is constructed with eight WS2812B RGB LEDs. These LEDs are are connected in cascade and use a single serial transmission line.
The timing required for generating the serial signal is implemented in C-code by using the SPI bus of the STM32 microcontroller. As the STM32 on the Olimexino features two SPI channels (SPI1 and SPI2), the SPI channel can be selected as a block parameter.

The resulting block in Simulink is depicted below:
Signal tower block final result.png

The files that have been added or updated with respect to HANcoder Beta V1.0 can be downloaded File:HANcoder-STM32-Target-v1.0-Signal-Tower.zip.
The following parts provide a detailed description of these files and additional changes that need to be made.