// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

    /*!
    \page creator-developing-b2qt.html
    \previouspage creator-reference.html

    \ingroup creator-reference-devices

    \title Developing for \B2Q devices

    \quotation
    \l {\B2Q}{How to: Develop for \B2Q}
    \endquotation

    \summary {Connect \B2Q devices to the computer to run,
    debug, and analyze applications built for them from \QC.}

    The \l{\B2Q: Documentation}{\B2Q} stack runs on a variety of hardware.
    \l{http://qt.io/licensing/}{Qt license} holders can customize the contents of
    the stack and take it into production hardware.

    \note Enable the \B2Q plugin to use it.

    If you have a toolchain for building applications for \B2Q devices
    installed on the computer, add it to a \l{Managing kits}{kit} with the
    \uicontrol \B2Q device type to build applications for and run them on
    the devices.

    \image {qtcreator-boot2qt-device-configurations.webp} {Devices tab in Devices preferences}

    \include linuxdev.qdoc openssh

    \sa {\B2Q}{How to: Develop for \B2Q},
    {Manage kits}{How to: Manage kits}, {Run in Qt Application Manager},
    {\B2Q Deploy Configuration}, {\B2Q Run Settings},
    {\B2Q: Documentation}
*/

/*!
    \page creator-how-to-connect-b2qt.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-b2qt

    \title Connect \B2Q devices

    Create connections between \l{\B2Q: Documentation}{\B2Q} devices and
    \QC to run, debug, and analyze applications on them.

    \note Enable the \B2Q plugin to use it.

    To configure connections between \QC and a \B2Q device:

    \list 1
        \li Check that you can reach the IP address of the device, or use USB to
            connect it.
        \li Go to \preferences > \uicontrol Kits > \uicontrol {Qt Versions}.
        \li Select \uicontrol Add to add the Qt version for \B2Q.
        \li Go to \preferences > \uicontrol Kits > \uicontrol Compilers.
        \li Select \uicontrol Add to add the compiler for building the
            applications.
        \li Go to \uicontrol Tools > \uicontrol {Flash \B2Q}
            to flash the \B2Q image to an SD card with \B2Q Flashing Wizard.
            \image {qtcreator-boot2qt-flashing-wizard.png} {\B2Q Flashing Wizard}
        \li Follow the instructions of the wizard to flash the image to the SD
            card.
        \li Go to \preferences > \uicontrol Devices > \uicontrol Devices.
        \li Select \uicontrol Add to add a \B2Q device.

            \QC automatically detects devices connected with USB.
        \li Go to \preferences > \uicontrol Kits.
        \li Select \uicontrol Add to add a kit for building for the device.
        \li Select the Qt version, compiler, and device that you added above.
        \li In \uicontrol {Run device}, select \uicontrol {Boot2Qt Device} in
            \uicontrol {Type}, and then select the actual device to run on in
            \uicontrol {Device}.
        \li To specify build settings:
        \list 1
            \li Open a project for an application you want to develop for the
                device.
            \li Go to \uicontrol Projects > \uicontrol {Build & Run} to activate
                the kit that you specified above.
        \endlist
        \li Go to \uicontrol {Run Settings} to specify run settings.
            Usually, you can use the default settings.

        \li When you run the project, \QC deploys the application as specified
            in \uicontrol {Deploy Settings}. By default, \QC copies the
            application files to the device.
    \endlist

    \sa {Configure SSH connections}, {Generate SSH keys},
    {Enable and disable plugins}, {\B2Q}{How to: Develop for \B2Q},
    {Manage kits}{How to: Manage kits}, {\B2Q Deploy Configuration},
    {\B2Q Run Settings}, {Developing for \B2Q Devices}
*/

/*!
    \page creator-how-to-add-b2qt.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-b2qt

    \title Add \B2Q devices

    \note Enable the \B2Q plugin to use it.

    If \QC does not automatically detect a \B2Q device you connect with USB,
    check that you followed the instructions in the \l{\B2Q: Documentation}
    {Quick Start Guide} for the device.

    If that does not help, but you can reach the IP address of the device,
    create a network connection to it:

    \list 1
        \li Go to \preferences > \uicontrol Devices > \uicontrol Devices.
            \image {qtcreator-boot2qt-device-configurations.webp} {Devices tab in Devices preferences}
        \li Select \uicontrol Add > \uicontrol {Boot2Qt Device} to create
            a network connection to the device.
            \image {qtcreator-devices-boot2qt.png} {Boot to Qt Network Device Setup wizard}
        \li In \uicontrol {Device name}, enter a name for the connection.
        \li In \uicontrol {Device address}, enter the host
            name or IP address of the device. This value becomes the value of the
            \c %{Device:HostAddress} variable.
        \li Select \uicontrol {Finish} to test the connection and add the device.
    \endlist

    The wizard does not show parameters that have sensible default values, such
    as the SSH port number. It is available in the variable \c %{Device:SshPort}.

    To add a device without using a wizard, select \uicontrol {Boot2Qt Device} in
    the pull-down menu of the \uicontrol Add button.

    \note On Ubuntu Linux, the development user account must have access to the
    plugged-in devices. To grant them access to the device via USB, create a new
    \c udev rule, as described in
    \l{\B2Q: Setting Up USB Access to Embedded Devices}.

    \section1 Reboot devices

    To reboot the selected device, select \uicontrol {Reboot Device}.

    \section1 Restore default applications

    To restore the default application to the device, select
    \uicontrol {Restore Default App}.

    \sa {Enable and disable plugins}, {\B2Q}{How To: Develop for \B2Q},
    {Remote Debugging}, {Developing for \B2Q Devices},
    {\B2Q: Setting Up USB Access to Embedded Devices}
*/
