# `IEC60870.Types.BCR`
[🔗](https://github.com/Ultraluv/ex_iec60870/blob/main/lib/iec60870/types/bcr.ex#L1)

Binary Counter Reading (`BinaryCounterReading`, 5 bytes) according to IEC 60870-5-101 7.2.6.9.
Matches `cs101_bcr.c`.

Byte layout:
- Bytes 0..3: 32-bit signed integer counter value (little-endian)
- Byte 4:
  - bits 0..4: `sequence_number` (0..31)
  - bit 5 (`0x20`): `carry` (CY)
  - bit 6 (`0x40`): `adjusted` (CA)
  - bit 7 (`0x80`): `invalid` (IV)

# `t`

```elixir
@type t() :: %IEC60870.Types.BCR{
  adjusted: boolean(),
  carry: boolean(),
  invalid: boolean(),
  sequence_number: 0..31,
  value: integer()
}
```

# `decode`

```elixir
@spec decode(binary()) :: {:ok, t(), binary()} | {:error, :insufficient_data}
```

# `encode`

```elixir
@spec encode(t()) :: &lt;&lt;_::40&gt;&gt;
```

# `new`

```elixir
@spec new(integer(), non_neg_integer(), keyword()) :: t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
