주요 콘텐츠

list

R2026b

List files and folders in directory on remote MAVLink client

Since R2026b

    Description

    [status,directory] = list(ftp,mavlinkclient,directoryPath) lists the names and attributes of files and subdirectories within the directory directoryPath on the remote MAVLink client.

    example

    Examples

    collapse all

    Download and delete flight logs from a Pixhawk® 4 board running PX4® firmware by using the FTP microservice.

    Download the latest version of common.xml file from the MAVLINK Common Message Set (common.xml) section of the MAVLink documentation, then create a mavlinkdialect object using the file.

    dialect = mavlinkdialect("common.xml");

    Create a local MAVLink client by using the mavlinkio object.

    gcs = mavlinkio(dialect);

    Store the remote MAVLink client information by using the mavlinkclient object. This Pixhawk board has a system ID of 1 and a component ID of 1.

    uav = mavlinkclient(gcs,1,1);

    Connect the local MAVLink client to the same serial port as the Pixhawk board by using the connect function. This Pixhawk board uses the COM5 port.

    connect(gcs,"Serial",SerialPort="COM5");

    Create a heartbeat microservice object.

    heartbeat = mavlinkmicroservice(gcs,"heartbeat");

    Start sending the HEARTBEAT messages to the Pixhawk board by using the start function.

    start(heartbeat,uav,"Serial",SerialPort="COM5")

    If the Pixhawk board replies with HEARTBEAT messages, a connection is established.

    Verify that the connection has been established by using the listClients function.

    listClients(gcs)
    ans = 2×4 table
        SystemID    ComponentID       ComponentType             AutopilotType     
        ________    ___________    ____________________    _______________________
    
          255            1            "MAV_TYPE_GCS"        "MAV_AUTOPILOT_INVALID"
           1             1         "MAV_TYPE_QUADROTOR"       "MAV_AUTOPILOT_PX4"

    Create an FTP microservice object.

    ftp = mavlinkmicroservice(gcs,"ftp");

    List the available flight logs stored in the /fs/microsd/log directory of the Pixhawk board by using the list function.

    [status,directory] = list(ftp,uav,"/fs/microsd/log")
    status = true
    directory = 4×3 table
          Type           Name            Size                 
        ________    _______________    _________  
    
          File       2026-03-01.ulg     7340032 
          File       2026-03-02.ulg     7540432 
          File       2026-03-03.ulg     6320031 
          File       2026-03-04.ulg     8221332 
    

    Download the 2026-03-02.ulg flight log into the Documents/logs directory by using the read function.

    [status,~] = read(ftp,uav,"/fs/microsd/log/2026-03-02.ulg", ... 
    LocalPath="Document/logs/2026-03-02.ulg")
    status = true

    After you have downloaded the 2026-03-02.ulg flight log, delete the flight log from the Pixhawk board to save memory space by using the remove function.

    status = remove(ftp,uav,"/fs/microsd/log/2026-03-02.ulg")
    status = true

    Verify that the file has been deleted by using the list function again.

    [status,directory] = list(ftp,uav,"/fs/microsd/log")
    status = true
    directory = 3×3 table
          Type           Name            Size                 
        ________    _______________    _________  
    
          File       2026-03-01.ulg     7340032 
          File       2026-03-03.ulg     6320031 
          File       2026-03-04.ulg     8221332 
    

    Input Arguments

    collapse all

    FTP microservice, specified as a ftpMicroservice object.

    Remote MAVLink client information, specified as a mavlinkclient object.

    Remote directory path, specified as a string scalar. This argument specifies the path of the directory to list on the remote MAVLink client.

    Example: "/fs/microsd/log"

    Data Types: string

    Output Arguments

    collapse all

    List status, returned as a 1 or 0 of data type logical. The value is 1 (true) when all files and folders in the specified directory are listed.

    Data Types: logical

    Directory listing, returned as a table with these columns:

    • Type — Returned as Directory or File.

    • Name — Name of folder or file.

    • Size — File size, in bytes.

    Version History

    Introduced in R2026b