Device Driver Blocks
A device driver block is a specialized form of the MATLAB System block that generates custom C/C++ device driver code when deployed to an Arduino® hardware board. Device driver blocks provide users easy access to hardware board features, such as communication protocols or hardware libraries, not available in the Simulink Support Package for Arduino Hardware.
You can develop a device driver block from a template System object™ and then share the completed blocks with other users.
Functions
arduino.supportpkg.getAVRLibraryRoot | Get Arduino AVR library root directory path |
arduino.supportpkg.getAVRRoot | Get Arduino AVR file root path |
arduino.supportpkg.getBoardInfo | Get properties of Arduino board in active Simulink model |
arduino.supportpkg.getIDERoot | Get Arduino IDE file root path |
arduino.supportpkg.getLibraryRoot | Get Arduino library root directory path |
arduino.supportpkg.getSAMDLibraryRoot | Get Arduino SAMD library root directory path |
arduino.supportpkg.getSAMDRoot | Get Arduino SAMD file root path |
arduino.supportpkg.getSAMLibraryRoot | Get Arduino SAM library root directory path |
arduino.supportpkg.getSAMRoot | Get Arduino SAM file root path |
Topics
- Prerequisites for Developing Device Driver Blocks
Learn the system requirements and recommended skills to develop device driver blocks for Arduino hardware boards.
- Structure of Device Driver System Object
Understand the concepts and operation of device driver blocks implemented using System object.
- Create a Digital Write Block
Create a Digital Write block using a System object.
- STEP 1: Create a Project Folder
- STEP 2: Write the Hardware-Specific C/C++ Code
- STEP 3: Select a System Object Template
- STEP 4: Specify the Initialization, Output, and Termination Behavior
- STEP 5: Test System Object on MATLAB Command Line
- STEP 6: Create the MATLAB System Block
- STEP 7: Generate Code and Deploy the Model to the Hardware
- Create a Digital Read Block
Create a Digital Read block using a System object.
- STEP 1: Create a Project Folder
- STEP 2: Write the Hardware-Specific C/C++ Code
- STEP 3: Select System Object Template
- STEP 4: Specify the Initialization, Output, and Termination
- STEP 5: Set Output Port Properties
- STEP 6: Test System Object
- Block Mask
Create block masks for your device driver blocks.
- STEP 1: Add Description for Users
- STEP 2: Add Pin Number Property
- STEP 3: Add Push Button to View Pin Map
- Create Custom Device Driver Block for Arduino Library
Create a custom device driver block for Arduino hardware.
- STEP 1: Create Project and Libraries Folder
- STEP 2: Write Hardware Specific C/C++ Code
- STEP 3: Select System Object Template
- STEP 4: Specify Initialization, Output, and Termination Behavior
- STEP 5: Update Paths for Source and Header Files
- STEP 6: Set Output Port Properties
- STEP 7: Create MATLAB System Block
- STEP 8: Generate Code and Deploy Model to Hardware
- Simulation with Device Driver Blocks
Choose and implement a data simulation mode for device driver blocks.
- Sharing Device Driver Blocks with Other Users
Package and distribute your device driver blocks.
- Measure Servo Motor Shaft Angle Using a Device Driver Block in Connected I/O
A guide to enable Connected I/O on a Simulink® system object block that contains hardware specific code allowing access to hardware specific features.