# Meshcore v0.1.0 - API Reference

## Modules

- Core
  - [Meshcore](Meshcore.md): Elixir client for [MeshCore](https://meshcore.io) companion radios.
  - [Meshcore.Client](Meshcore.Client.md): The session process behind a MeshCore connection.
  - [Meshcore.Event](Meshcore.Event.md): An event emitted by a MeshCore device or by the library itself.
  - [Meshcore.Subscription](Meshcore.Subscription.md): Handle returned by `Meshcore.subscribe/3`.

- Commands
  - [Meshcore.Commands](Meshcore.Commands.md): Every device command in one namespace – the equivalent of Python's
`meshcore.commands`.
  - [Meshcore.Commands.Base](Meshcore.Commands.Base.md): Shared plumbing for the command modules.
  - [Meshcore.Commands.Binary](Meshcore.Commands.Binary.md): Binary and anonymous requests to remote nodes: status, telemetry,
min/max/avg telemetry, ACL, neighbours, regions, owner info and basic info.
  - [Meshcore.Commands.Contact](Meshcore.Commands.Contact.md): Commands for managing the device's contact list.
  - [Meshcore.Commands.ControlData](Meshcore.Commands.ControlData.md): Control-data commands, used for node discovery.

  - [Meshcore.Commands.Device](Meshcore.Commands.Device.md): Commands that read or configure the companion device itself.

  - [Meshcore.Commands.Messaging](Meshcore.Commands.Messaging.md): Sending and receiving messages, remote logins, path discovery, traces and
flood scopes.

- Transports
  - [Meshcore.Frame](Meshcore.Frame.md): Stream framing used by the serial and TCP transports.
  - [Meshcore.Transport](Meshcore.Transport.md): Behaviour implemented by byte transports (serial, TCP, BLE, or your own).
  - [Meshcore.Transport.BLE](Meshcore.Transport.BLE.md): Bluetooth Low Energy transport (Nordic UART service).
  - [Meshcore.Transport.BLE.Adapter](Meshcore.Transport.BLE.Adapter.md): Behaviour for the platform-specific half of the BLE transport.
  - [Meshcore.Transport.Serial](Meshcore.Transport.Serial.md): Serial (USB/UART) transport built on [`circuits_uart`](https://hex.pm/packages/circuits_uart).
  - [Meshcore.Transport.TCP](Meshcore.Transport.TCP.md): TCP transport (e.g. a WiFi companion firmware or a serial-to-TCP bridge).

- Protocol
  - [Meshcore.Lpp](Meshcore.Lpp.md): Decoder for Cayenne LPP (Low Power Payload) telemetry frames.
  - [Meshcore.PacketParser](Meshcore.PacketParser.md): Parser for raw LoRa packets seen in `:rx_log_data` events.
  - [Meshcore.Packets](Meshcore.Packets.md): Protocol constants: command codes, response/push codes and the various
request/advert/text type enumerations of the MeshCore companion protocol.
  - [Meshcore.Parsing](Meshcore.Parsing.md): Parsers for the binary sub-structures carried by status, telemetry and ACL
responses.

  - [Meshcore.Reader](Meshcore.Reader.md): Decodes frames received from the device into `Meshcore.Event`s.
  - [Meshcore.Util](Meshcore.Util.md): Small binary/encoding helpers shared across the library.

