Main Content

configurePin

Configure GPIO pin as digital input or digital output

Since R2021b

    Add-On Required: This feature requires the MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms add-on.

    Description

    example

    configurePin(hwobj,pinNumber,mode) configures the GPIO pinNumber pin of the Jetson™ board as a digital input or digital output depending on the specified mode.

    pinMode = configurePin(hwobj,pinNumber) returns the current configuration mode of the pin.

    Examples

    collapse all

    Configure a GPIO pin as digital input and read its logical value.

    Create a connection from MATLAB® to the NVIDIA® Jetson board.

    hwobj = jetson
    
    hwobj = 
    
      jetson with properties:
    
               DeviceAddress: 'jetson-board-name'
                        Port: 22
                   BoardName: 'NVIDIA Jetson TX2'
                 CUDAVersion: '10.0'
                cuDNNVersion: '7.6'
             TensorRTVersion: '6.0'
                  SDLVersion: '1.2'
                 V4L2Version: '1.14.2-1'
            GStreamerVersion: '1.14.5'
               OpenCVVersion: '4.1.1'
                     GPUInfo: [1x1 struct]
                  WebcamList: []
        AvailableDigitalPins: [7 11 12 13 15 16 18 19 21 22 23 24 29 31 32 33 35 36 37 38 40]
    

    The AvailableDigitalPins property shows the list of available digital GPIO pins.

    Show the location of the GPIO pins on your device.

    showPins(hwobj)

    J21 header pinout of Jetson TX2 development board

    Display the AvailableDigitalPins.

    hwobj.AvailableDigitalPins
    
    ans =
    
    7    11    12    13    15    16    18    19    
    21    22    23    24    29    31    32    33    
    35    36    37    38    40
    

    Connect your digital device to the first GPIO pin available, for example GPIO 7.

    Configure pin GPIO 7 as a digital input.

    configurePin(hwobj,7,'DigitalInput')
    

    Read the value from pin GPIO 4.

    readDigitalPin(hwobj,7)
    
    ans =
    
      1

    The logical value of 1 indicates a positive voltage signal on the pin GPIO 7.

    Configure a GPIO pin as a digital output and write its logical value.

    Create a connection from the MATLAB software to the NVIDIA Jetson board.

    hwobj = jetson
    
    hwobj = 
    
      jetson with properties:
    
               DeviceAddress: 'jetson-board-name'
                        Port: 22
                   BoardName: 'NVIDIA Jetson TX2'
                 CUDAVersion: '10.0'
                cuDNNVersion: '7.6'
             TensorRTVersion: '6.0'
                  SDLVersion: '1.2'
                 V4L2Version: '1.14.2-1'
            GStreamerVersion: '1.14.5'
               OpenCVVersion: '4.1.1'
                     GPUInfo: [1x1 struct]
                  WebcamList: []
        AvailableDigitalPins: [7 11 12 13 15 16 18 19 21 22 23 24 29 31 32 33 35 36 37 38 40]
    

    The AvailableDigitalPins property shows the list of available digital GPIO pins.

    Show the location of the GPIO pins on your device.

    showPins(hwobj)

    J21 header pinout of Jetson TX2 development board

    Display the AvailableDigitalPins.

    hwobj.AvailableDigitalPins
    
    ans =
    
    7    11    12    13    15    16    18    19    
    21    22    23    24    29    31    32    33    
    35    36    37    38    40
    

    Connect your digital device to an available GPIO pin, for example GPIO 11.

    Configure pin GPIO 11 as a digital output.

    configurePin(hwobj,11,'DigitalOutput')   

    Write a logical value of 1 to pin GPIO 11.

    writeDigitalPin(hwobj,11,1)

    The logical value of 1 sets the signal voltage on pin GPIO 11 to high.

    Input Arguments

    collapse all

    Connection to a specific NVIDIA hardware board, specified as a jetson object.

    GPIO pin number, specified as a scalar. This argument does not accept vectors because the hardware cannot access multiple pins simultaneously.

    To get a list of valid pin numbers, use the AvailableDigitalPins property of the jetson object. For example, hwobj.AvailableDigitalPins.

    Example: 12

    Data Types: double

    Mode used to configure the pin, specified as 'DigitalInput', 'DigitalOutput', or 'Unset'.

    Data Types: char | string

    Output Arguments

    collapse all

    Current configuration mode of pin, returned as 'DigitalInput', 'DigitalOutput', or 'Unset'.

    Version History

    Introduced in R2021b

    See Also

    Functions

    Objects