com.qualcomm.ftccommon

## Class FtcLynxFirmwareUpdateActivity

- java.lang.Object
- - ThemedActivity
  - - com.qualcomm.ftccommon.FtcLynxFirmwareUpdateActivity

-     public class FtcLynxFirmwareUpdateActivity
      extends ThemedActivity

  `FtcLynxFirmwareUpdateActivity` manages the updating of the firmware on all available attached lynx modules.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `FtcLynxFirmwareUpdateActivity.FwResponseStatus`
    `protected class` | `FtcLynxFirmwareUpdateActivity.ReceiveLoopCallback`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.concurrent.BlockingQueue<CommandList.LynxFirmwareUpdateResp>` | `availableFWUpdateResps`
    `protected java.util.concurrent.BlockingQueue<CommandList.LynxFirmwareImagesResp>` | `availableLynxImages`
    `protected java.util.concurrent.BlockingQueue<CommandList.USBAccessibleLynxModulesResp>` | `availableLynxModules`
    `protected boolean` | `cancelUpdate`
    `protected boolean` | `enableUpdateButton`
    `protected FWImage` | `firmwareImageFile`
    `protected java.util.List<USBAccessibleLynxModule>` | `modulesToUpdate`
    `protected int` | `msResponseWait`
    `protected NetworkConnectionHandler` | `networkConnectionHandler`
    `protected RecvLoopRunnable.RecvLoopCallback` | `recvLoopCallback`
    `protected boolean` | `remoteConfigure`
    `static java.lang.String` | `TAG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FtcLynxFirmwareUpdateActivity()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected <T> T` | `awaitResponse(java.util.concurrent.BlockingQueue<T> queue, T defaultResponse)`
    `protected <T> T` | `awaitResponse(java.util.concurrent.BlockingQueue<T> queue, T defaultResponse, long time, java.util.concurrent.TimeUnit timeUnit, <any> status)`
    `protected CommandList.LynxFirmwareImagesResp` | `getCandidateLynxFirmwareImages()`
    `protected java.util.List<USBAccessibleLynxModule>` | `getLynxModulesForFirmwareUpdate()`
    `java.lang.String` | `getTag()`
    `static void` | `initializeDirectories()`
    `protected void` | `onCreate(Bundle savedInstanceState)`
    `protected void` | `onDestroy()`
    `protected void` | `onPause()`
    `protected void` | `onStart()`
    `protected void` | `onStop()`
    `void` | `onUpdateLynxFirmwareClicked(View view)`
    `protected void` | `sendOrInject(Command cmd)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TAG

          public static final java.lang.String TAG

      See Also:
        Constant Field Values

    - #### networkConnectionHandler

          protected NetworkConnectionHandler networkConnectionHandler

    - #### recvLoopCallback

          protected RecvLoopRunnable.RecvLoopCallback recvLoopCallback

    - #### remoteConfigure

          protected boolean remoteConfigure

    - #### msResponseWait

          protected int msResponseWait

    - #### firmwareImageFile

          protected FWImage firmwareImageFile

    - #### modulesToUpdate

          protected java.util.List<USBAccessibleLynxModule> modulesToUpdate

    - #### enableUpdateButton

          protected boolean enableUpdateButton

    - #### cancelUpdate

          protected boolean cancelUpdate

    - #### availableLynxImages

          protected java.util.concurrent.BlockingQueue<CommandList.LynxFirmwareImagesResp> availableLynxImages

    - #### availableLynxModules

          protected java.util.concurrent.BlockingQueue<CommandList.USBAccessibleLynxModulesResp> availableLynxModules

    - #### availableFWUpdateResps

          protected java.util.concurrent.BlockingQueue<CommandList.LynxFirmwareUpdateResp> availableFWUpdateResps

  - ### Constructor Detail

    - #### FtcLynxFirmwareUpdateActivity

          public FtcLynxFirmwareUpdateActivity()

  - ### Method Detail

    - #### getTag

          public java.lang.String getTag()

    - #### initializeDirectories

          public static void initializeDirectories()

    - #### onCreate

          protected void onCreate(Bundle savedInstanceState)

    - #### onStart

          protected void onStart()

    - #### onDestroy

          protected void onDestroy()

    - #### onUpdateLynxFirmwareClicked

          public void onUpdateLynxFirmwareClicked(View view)

    - #### onPause

          protected void onPause()

    - #### onStop

          protected void onStop()

    - #### getCandidateLynxFirmwareImages

          protected CommandList.LynxFirmwareImagesResp getCandidateLynxFirmwareImages()

    - #### getLynxModulesForFirmwareUpdate

          protected java.util.List<USBAccessibleLynxModule> getLynxModulesForFirmwareUpdate()

    - #### sendOrInject

          protected void sendOrInject(Command cmd)

    - #### awaitResponse

          protected <T> T awaitResponse(java.util.concurrent.BlockingQueue<T> queue,
                                        T defaultResponse)

    - #### awaitResponse

          protected <T> T awaitResponse(java.util.concurrent.BlockingQueue<T> queue,
                                        T defaultResponse,
                                        long time,
                                        java.util.concurrent.TimeUnit timeUnit,
                                        <any> status)