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 the 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 a 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.