Configuration Parameter |
Selectable Option/Value |
Description |
Mask display name |
|
Enter display name which appears on the block display. |
Path for include files (*.h) |
|
Browse to the directory where the header files are located. |
Path for source files (*.c) |
|
Browse to the directory where the source files are located. |
Included header file names |
|
When the respective Edit button is pressed it will show the available header files specified in the include directory above. Select the header files that are needed for the block. When building, Waijung2 will automatically copy these files from the folder to the build folder. |
Included source file names |
|
When the respective Edit button is pressed it will show the available source files specified in the source directory above. Select the source files that are needed for the block. When building, Waijung2 will automatically copy these files from the folder to the build folder. |
Initial function call string |
|
Custom function call once MCU startup. |
Enable function call string |
|
Custom function call when the Block is enabled. |
IRQ handler name |
|
Function prototype of the interrupt handler (without semi-colon ";" ) |
Add additional content to the IRQ handler |
on--off |
Enable/disable the ability to customize the content of the IRQ handler. If this is Unchecked only the code generated from the Function-call subsystem which is connected to the IRQ output port, will be placed inside the IRQ handler. |
IRQ handler content... |
|
When Add additional content to the IRQ handler is Checked This text area could be used to customize the content of the IRQ handler. %[function-call subsystem] keyword should be placed to the point where the code generated from the Function-call subsystem which is connected to the IRQ output is placed. |
Disable function call string |
|
Custom function call script for when the block is disabled. |
Port Name |
Port Type |
Date Type |
Description |
IRQ |
Scalar |
Function-call |
This output port should be connected to a Function-call subsystem |
When you want to add your own custom asynchronous (interrupt) C code to the system.
See Basic Custom Code Block for an explanation of the Mask parameters of the block.
Demo file : esp32_irq_customcode_demo.slx
This example shows how to use the IRQ Custom Code Block on ESP32 by implementing a timer interrupt. To observe the interrupt, a GPIO is toggled within the interrupt service routine.
First, download the irq_customcode_demo_lib.zip and extract the content. Copy the extracted folder to the same folder as the model file. Open the model file from Matlab. In the IRQ Custom Code block mask, browse the Path for include files (*.h) and Path for source files (*.c) to the extracted folder.
An oscilloscope should be connected to the GPIO pin specified in the model (in the example GPIO Pin 2 is selected.)
After the model file is compiled and uploaded to the ESP32 board, the following output can be seen on the oscilloscope.