Table of Contents

Namespace Bonsai.Harp

Classes

AssemblyVersion

Represents a register that specifies the version of the assembled components in the device.

AsyncDevice

Represents an asynchronous API to configure and interface with Harp devices.

Bootloader

Provides asynchronous operations to update a device firmware using the dedicated bootloader protocol.

ClockConfiguration

Represents a register that specifies the configuration for the device synchronization clock.

ConvertFromMessageBytes

Represents a transform operator which converts an observable sequence of byte arrays into a sequence of Harp messages.

ConvertTimestamped

Represents an expression builder which converts a timestamped payload value into a new form while keeping the original timestamp.

CoreVersionHigh

Represents a register that specifies the major version of the Harp core implemented by the device.

CoreVersionLow

Represents a register that specifies the minor version of the Harp core implemented by the device.

CreateAssemblyVersionPayload

Represents an operator that creates a message payload that specifies the version of the assembled components in the device.

CreateClockConfigurationPayload

Represents an operator that creates a message payload that specifies the configuration for the device synchronization clock.

CreateCoreVersionHighPayload

Represents an operator that creates a message payload that specifies the major version of the Harp core implemented by the device.

CreateCoreVersionLowPayload

Represents an operator that creates a message payload that specifies the minor version of the Harp core implemented by the device.

CreateDeviceNamePayload

Represents an operator that creates a message payload that stores the user-specified device name.

CreateFirmwareVersionHighPayload

Represents an operator that creates a message payload that specifies the major version of the Harp core implemented by the device.

CreateFirmwareVersionLowPayload

Represents an operator that creates a message payload that specifies the minor version of the Harp core implemented by the device.

CreateHardwareVersionHighPayload

Represents an operator that creates a message payload that specifies the major hardware version of the device.

CreateHardwareVersionLowPayload

Represents an operator that creates a message payload that specifies the minor hardware version of the device.

CreateMessage

Represents an operator which creates a sequence of standard message payloads for Harp devices.

CreateMessageBuilder

Provides the abstract base class for polymorphic operators used to create specific Harp device message payloads.

CreateMessagePayload

Represents an operator which creates a sequence of Harp messages with the specified payload.

CreateOperationControlPayload

Represents an operator that creates a message payload that stores the configuration mode of the device.

CreateResetDevicePayload

Represents an operator that creates a message payload that resets the device and saves non-volatile registers.

CreateSerialNumberPayload

Represents an operator that creates a message payload that specifies the unique serial number of the device.

CreateTimestampMicrosecondsPayload

Represents an operator that creates a message payload that stores the fractional part of the system timestamp, in microseconds.

CreateTimestampSecondsPayload

Represents an operator that creates a message payload that stores the integral part of the system timestamp, in seconds.

CreateTimestamped

Represents an operator that creates a sequence of timestamped payload values from a sequence of value-timestamp pairs.

CreateTimestampedAssemblyVersionPayload

Represents an operator that creates a timestamped message payload that specifies the version of the assembled components in the device.

CreateTimestampedClockConfigurationPayload

Represents an operator that creates a timestamped message payload that specifies the configuration for the device synchronization clock.

CreateTimestampedCoreVersionHighPayload

Represents an operator that creates a timestamped message payload that specifies the major version of the Harp core implemented by the device.

CreateTimestampedCoreVersionLowPayload

Represents an operator that creates a timestamped message payload that specifies the minor version of the Harp core implemented by the device.

CreateTimestampedDeviceNamePayload

Represents an operator that creates a timestamped message payload that stores the user-specified device name.

CreateTimestampedFirmwareVersionHighPayload

Represents an operator that creates a timestamped message payload that specifies the major version of the Harp core implemented by the device.

CreateTimestampedFirmwareVersionLowPayload

Represents an operator that creates a timestamped message payload that specifies the minor version of the Harp core implemented by the device.

CreateTimestampedHardwareVersionHighPayload

Represents an operator that creates a timestamped message payload that specifies the major hardware version of the device.

CreateTimestampedHardwareVersionLowPayload

Represents an operator that creates a timestamped message payload that specifies the minor hardware version of the device.

CreateTimestampedOperationControlPayload

Represents an operator that creates a timestamped message payload that stores the configuration mode of the device.

CreateTimestampedResetDevicePayload

Represents an operator that creates a timestamped message payload that resets the device and saves non-volatile registers.

CreateTimestampedSerialNumberPayload

Represents an operator that creates a timestamped message payload that specifies the unique serial number of the device.

CreateTimestampedTimestampMicrosecondsPayload

Represents an operator that creates a timestamped message payload that stores the fractional part of the system timestamp, in microseconds.

CreateTimestampedTimestampSecondsPayload

Represents an operator that creates a timestamped message payload that stores the integral part of the system timestamp, in seconds.

CreateTimestampedWhoAmIPayload

Represents an operator that creates a timestamped message payload that specifies the identity class of the device.

CreateWhoAmIPayload

Represents an operator that creates a message payload that specifies the identity class of the device.

Device

Represents an observable source of messages from the Harp device connected at the specified serial port.

DeviceFirmware

Represents a hardware control firmware image which can be uploaded into a Harp device.

DeviceName

Represents a register that stores the user-specified device name.

DeviceTypeDescriptionProvider<TElement>

Provides dynamic device description data based on a private or internal Description property. As long as such a property exists, this type description provider will use it to override the default DescriptionAttribute of the class.

FileDevice

Represents an operator which produces an observable sequence of Harp messages from a previously recorded data file.

FilterMessageType

Represents an operator that filters the sequence for valid Harp messages matching the specified message type.

FilterRegister

Represents an operator that filters the sequence for Harp messages matching the specified register address.

FilterRegisterAddress

Represents an operator that filters the sequence for Harp messages matching the specified address.

FilterRegisterBuilder

Provides the abstract base class for polymorphic operators used to filter a sequence of Harp messages matching the specified register.

FirmwareMetadata

Represents information about the device, firmware version and hardware version numbers contained in a particular device or hex file.

FirmwareVersionHigh

Represents a register that specifies the major version of the Harp core implemented by the device.

FirmwareVersionLow

Represents a register that specifies the minor version of the Harp core implemented by the device.

Format

Represents an operator which formats a sequence of values as standard Harp device messages.

FormatBuilder

Provides the abstract base class for polymorphic operators used to format a sequence of values as specific Harp device register messages.

FormatMessagePayload

Represents an operator which formats a sequence of values as Harp messages with the specified address and payload type.

GroupByRegister

Represents an operator that groups a sequence of Harp messages by register address.

HardwareVersionHigh

Represents a register that specifies the major hardware version of the device.

HardwareVersionLow

Represents a register that specifies the minor hardware version of the device.

HarpCombinator

Provides the abstract base class for operators used to manipulate Harp device messages.

HarpCombinatorBuilder

Provides the abstract base class for polymorphic operators used to manipulate Harp device messages.

HarpCommand

Provides static methods for creating Harp command messages.

HarpException

Represents errors that are reported by Harp devices at runtime.

HarpMessage

Represents a single message of the Harp protocol.

HarpVersion

Represents the major and minor version of Harp firmware or hardware.

MessageWriter

Represents an operator that writes each Harp message in the sequence to a raw binary file.

ObservableExtensions

Provides a set of static extension methods to aid in writing queries over observable Harp message sequences.

OffsetTimestamp

Represents an operator that shifts the timestamps of a sequence of timestamped payload values by the specified time interval.

OperationControl

Represents a register that stores the configuration mode of the device.

Parse

Represents an operator which filters and selects standard Harp messages reported by the device.

ParseBuilder

Provides the abstract base class for polymorphic operators used to filter and select messages from specific registers in a Harp device.

ParseMessagePayload

Represents an operator which extracts the payload data from an observable sequence of Harp messages.

PortNameConverter

Provides a type converter to convert port name strings to and from other representations.

RegisterCombinatorBuilder

Provides the abstract base class for polymorphic operators used to filter and select a sequence of Harp messages matching the specified register.

ResetDevice

Represents a register that resets the device and saves non-volatile registers.

SerialNumber

Represents a register that specifies the unique serial number of the device.

SynchronizeTimestamp

Represents an operator that creates a command message to set the value of the timestamp register in the Harp device to the current UTC time of the host.

TimestampMicroseconds

Represents a register that stores the fractional part of the system timestamp, in microseconds.

TimestampSeconds

Represents a register that stores the integral part of the system timestamp, in seconds.

Timestamped

Provides static methods for creating timestamped payload objects.

TimestampedAssemblyVersion

Provides methods for manipulating timestamped messages from the AssemblyVersion register.

TimestampedClockConfiguration

Provides methods for manipulating timestamped messages from the ClockConfiguration register.

TimestampedCoreVersionHigh

Provides methods for manipulating timestamped messages from the CoreVersionHigh register.

TimestampedCoreVersionLow

Provides methods for manipulating timestamped messages from the CoreVersionLow register.

TimestampedDeviceName

Provides methods for manipulating timestamped messages from the DeviceName register.

TimestampedFirmwareVersionHigh

Provides methods for manipulating timestamped messages from the FirmwareVersionHigh register.

TimestampedFirmwareVersionLow

Provides methods for manipulating timestamped messages from the FirmwareVersionLow register.

TimestampedHardwareVersionHigh

Provides methods for manipulating timestamped messages from the HardwareVersionHigh register.

TimestampedHardwareVersionLow

Provides methods for manipulating timestamped messages from the HardwareVersionLow register.

TimestampedOperationControl

Provides methods for manipulating timestamped messages from the OperationControl register.

TimestampedResetDevice

Provides methods for manipulating timestamped messages from the ResetDevice register.

TimestampedSerialNumber

Provides methods for manipulating timestamped messages from the SerialNumber register.

TimestampedTimestampMicroseconds

Provides methods for manipulating timestamped messages from the TimestampMicroseconds register.

TimestampedTimestampSeconds

Provides methods for manipulating timestamped messages from the TimestampSeconds register.

TimestampedWhoAmI

Provides methods for manipulating timestamped messages from the WhoAmI register.

WhoAmI

Represents a register that specifies the identity class of the device.

Structs

OperationControlPayload

Represents the payload of the OperationControl register.

Timestamped<T>

Represents a timestamped payload value.

Enums

ClockConfigurationFlags

Specifies configuration flags for the device synchronization clock.

EnableFlag

Specifies whether a specific register flag is enabled or disabled.

FilterType

Specifies how the message filter will use the matching criteria.

LedState

Specifies the state of an LED on the Harp device.

MessageType

Specifies the type of a Harp device message.

OperationMode

Specifies the operation mode of the device.

PayloadType

Specifies the type of data available in the message payload.

ResetFlags

Specifies the behavior of the non-volatile registers when resetting the device.