Drone.Adapters.Crazyflie.USB.Unavailable (ex_drone v0.3.0)

View Source

Default USB backend when no native libusb integration is configured.

Radio hardware requires an optional USB backend module passed as usb_backend: Module to Drone.connect/2. Every operation except close/1 returns {:error, :usb_backend_unavailable}.

Useful as a safe default so radio:// URIs fail loudly instead of crashing when no backend is wired.

Examples

{:error, :usb_backend_unavailable} =
  Drone.Adapters.Crazyflie.USB.Unavailable.discover([])

{:ok, drone} =
  Drone.connect(:crazyflie,
    uri: "radio://0/80/2M",
    usb_backend: MyApp.CrazyradioUSB
  )

Summary

Functions

Always fails bulk reads with :usb_backend_unavailable.

Always fails bulk writes with :usb_backend_unavailable.

No-op close (nothing was opened).

Always fails control writes with :usb_backend_unavailable.

Always fails discovery with :usb_backend_unavailable.

Always fails open with :usb_backend_unavailable.

Functions

bulk_read(dev, ep, max, timeout)

Always fails bulk reads with :usb_backend_unavailable.

bulk_write(dev, ep, data, timeout)

Always fails bulk writes with :usb_backend_unavailable.

close(dev)

No-op close (nothing was opened).

Returns

Always :ok.

control_write(dev, req, value, index, data, timeout)

Always fails control writes with :usb_backend_unavailable.

discover(opts)

Always fails discovery with :usb_backend_unavailable.

Parameters

  • _opts (keyword()) — ignored

Returns

{:error, :usb_backend_unavailable}.

open(info, opts)

Always fails open with :usb_backend_unavailable.

Parameters

  • _info (map()) — ignored device info
  • _opts (keyword()) — ignored

Returns

{:error, :usb_backend_unavailable}.