# Base remote control service API

The base remote control service API allows you to get a list of inputs from the controller that are being monitored for that control mode.

The [Base remote control service](https://docs.viam.com/reference/services/base-rc/) supports the following methods:

| Method Name | Description |
| --- | --- |
| [`ControllerInputs`](https://docs.viam.com/reference/apis/services/base-rc/#controllerinputs) | Get a list of inputs from the controller that are being monitored for that control mode. |
| [`Reconfigure`](https://docs.viam.com/reference/apis/services/base-rc/#reconfigure) | Reconfigure this resource. |
| [`DoCommand`](https://docs.viam.com/reference/apis/services/base-rc/#docommand) | Execute model-specific commands that are not otherwise defined by the service API. |
| [`GetResourceName`](https://docs.viam.com/reference/apis/services/base-rc/#getresourcename) | Get the `ResourceName` for this instance of the generic service with the given name. |
| [`Close`](https://docs.viam.com/reference/apis/services/base-rc/#close) | Close out of all remote control related systems. |

## API

### ControllerInputs

Get a list of inputs from the controller that are being monitored for that control mode.

- [Go](https://docs.viam.com/reference/apis/services/base-rc/#tabset-referenceapisservicesbase-rc-1-0)

**Parameters:**

- None.

**Returns:**

- [(input.Control)](https://pkg.go.dev/go.viam.com/rdk/components/input#Control): A list of inputs from the controller that are being monitored for that control mode.

**Example:**

```go

```

For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/services/baseremotecontrol#Service).

### Reconfigure

Reconfigure this resource.
Reconfigure must reconfigure the resource atomically and in place.

- [Go](https://docs.viam.com/reference/apis/services/base-rc/#tabset-referenceapisservicesbase-rc-2-0)

**Parameters:**

- `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries.
- `deps` [(Dependencies)](https://pkg.go.dev/go.viam.com/rdk/resource#Dependencies): The resource dependencies.
- `conf` [(Config)](https://pkg.go.dev/go.viam.com/rdk/resource#Config): The resource configuration.

**Returns:**

- [(error)](https://pkg.go.dev/builtin#error): An error, if one occurred.

For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/resource#Resource).

### DoCommand

Execute model-specific commands that are not otherwise defined by the service API.
Most models do not implement `DoCommand`.
Any available model-specific commands should be covered in the model’s documentation.
If you are implementing your own base remote control service and want to add features that have no corresponding built-in API method, you can implement them with [`DoCommand`](https://docs.viam.com/reference/sdks/docommand/).

- [Go](https://docs.viam.com/reference/apis/services/base-rc/#tabset-referenceapisservicesbase-rc-3-0)

**Parameters:**

- `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries.
- `cmd` [(map[string]interface{})](https://go.dev/blog/maps): The command to execute.

**Returns:**

- [(map[string]interface{})](https://pkg.go.dev/builtin#string): The command response.
- [(error)](https://pkg.go.dev/builtin#error): An error, if one occurred.

**Example:**

```go

```

For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/resource#Resource).

### GetResourceName

Get the `ResourceName` for this instance of the generic service with the given name.

- [Go](https://docs.viam.com/reference/apis/services/base-rc/#tabset-referenceapisservicesbase-rc-4-0)

**Parameters:**

- None.

**Returns:**

- [(Name)](https://pkg.go.dev/go.viam.com/rdk@v0.89.0/resource#Name)

**Example:**

```go

```

For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/resource#Resource).

### Close

Close out of all remote control related systems.

- [Go](https://docs.viam.com/reference/apis/services/base-rc/#tabset-referenceapisservicesbase-rc-5-0)

**Parameters:**

- `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries.

**Returns:**

- [(error)](https://pkg.go.dev/builtin#error): An error, if one occurred.

**Example:**

```go

```

For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/resource#Resource).
