Search Results for

    Show / Hide Table of Contents

    Namespace Wss.CoreModule

    Classes

    AmpCurveParams

    Piecewise amplitude curve parameters used to map mA to 0..255. mA <= LowThreshold: out = pow(mA / LowConst, ExpPower) + 1 mA > LowThreshold: out = ((mA + LinearOffset) / LinearSlope) + 1

    ContactConfigDefinition

    Describes a contact configuration to create on the WSS device.

    CoreConfig

    Represents the core configuration persisted to stimConfig.json. Includes device-count, firmware, target-address, and amplitude-curve settings.

    CoreConfigController

    Controls loading, validating, reading, and writing a configuration JSON file. Thread-safe. Ensures a valid default config exists on disk.

    CreateEventRequest

    Describes an event to create on the WSS device.

    DictConfigBase

    Base class for JSON-backed configuration objects that expose dotted-key access. Wraps a Newtonsoft.Json.Linq.JObject and provides thread-safe getters/setters and persistence.

    EventPulseWidths

    Holds pulse-width values for an event definition.

    JsonReader

    Lightweight helpers for loading and saving JSON configuration files. Provides typed object and Newtonsoft.Json.Linq.JObject utilities and ensures parent directories exist before writes.

    Log

    Lightweight, host-agnostic logger.

    • Works in plain .NET via Console/Debug.
    • Detects Unity at runtime via reflection and forwards to UnityEngine.Debug.
    • Exposes a pluggable sink/event so hosts can capture logs.

    ModuleSettings

    Strongly-typed snapshot of settings returned by a ModuleQuery-like payload. Includes a safe decoder for the data-only payload and helpers for selecting amplitude mapping behavior (e.g., 10 mA vs 72 mA based on HW flags).

    ScheduleDefinition

    Describes a schedule to create on the WSS device.

    SerialPortTransport

    Serial-port implementation of ITransport for WSS communications. Wraps System.IO.Ports.SerialPort and exposes an event-driven receive API that works well in Unity/.NET Standard 2.0.

    SerialPortTransportOptions

    Holds connection settings for SerialPortTransport.

    StimParamsBasicExtensions

    Convenience extension methods over IStimParamsCore that forward to the optional BASIC layer (IBasicStimulation).

    StreamChangeRequest

    Describes a streaming update for PA, PW, and IPI groups.

    TestModeTransport

    In-memory transport for debugging and unit tests. No real I/O. Features: artificial latency, jitter, inbound chunking, and drop simulation. Default auto-responder validates checksum, flips sender/target, and echoes or replaces payload.

    TestModeTransportOptions

    Holds behavior settings for TestModeTransport.

    WSSVersionHandler

    Handles firmware version parsing and feature availability based on known supported versions.

    Waveform

    Waveform container holding cathodic and anodic shape arrays and a computed total area.

    WaveformBuilder

    Utility for constructing charge-balanced stimulation waveforms. Given a cathodic shape, it computes a matching anodic recharge segment and exposes helpers to retrieve shapes and total area.

    WssClient

    Low-level protocol client. Frames commands using an IFrameCodec, sends them over an ITransport, and correlates responses by (target,msgId).

    WssClientOptions

    Holds behavioral settings for WssClient.

    WssFrameCodec

    Frame codec implementing a SLIP-like protocol:

    • END (0xC0) terminates a frame.
    • ESC (0xDB) escapes special bytes inside the frame.
    • END_SUB (0xDC) represents END when escaped.
    • ESC_SUB (0xDD) represents ESC when escaped.
    Frames on the wire are [sender][target][payload...][checksum][END]. The checksum is computed over all bytes except the last two (checksum + END).

    WssStimulationCore

    Stimulation core that manages connection, setup (via a queued step runner), and a background streaming loop. Public mutator methods enqueue device edits and return immediately.

    WssStimulationCoreOptions

    Holds startup and default stimulation settings for WssStimulationCore.

    Interfaces

    IBasicStimulation

    Basic stimulation operations that upload or select waveforms and manage board configuration. Calls are non-blocking; implementations may enqueue setup steps and return immediately.

    ICoreConfig

    Read-only view of core configuration values loaded from a JSON config file.

    IFrameCodec

    Contract for framing and deframing messages over byte-stream transports (Serial, BLE, TCP).

    IStimulationCore

    Stimulation core lifecycle and control surface. Implementations manage connection, setup, and a background streaming loop. Public mutators should enqueue edits and return immediately.

    ITransport

    Abstraction over a byte-stream transport (e.g., Serial, Bluetooth, TCP). Implementations surface incoming bytes via BytesReceived and provide async connect/disconnect/send operations.

    Enums

    Log.LogLevel

    Log severity.

    ModuleSettings.FingerswitchConfig

    Fingerswitch operating mode, when present.

    ModuleSettings.HwConfigFlags

    Hardware configuration flags reported by the device. Each bit defines an independent setting; the on-wire value is the sum of set bits. In particular, bit 1 (value 2) indicates 10 mA PA mode and bit 2 (value 4) indicates 10 ms pulse guard.

    ModuleSettings.ParameterStepKind

    Which parameter the front-panel step affects (PA or PW).

    WSSLimits

    Device- and protocol-level numeric limits and sizes used by the WSS stack. Values reflect firmware constraints such as maximum pulse width and buffer sizes.

    WSSMessageIDs

    Protocol message identifiers used by the firmware. Values correspond to on-wire command codes.

    WSSVersionHandler.SupportedVersions

    Enum representing known supported WSS firmware versions. Integer values correspond to internal numeric codes.

    WssTarget

    Addresses for targeting individual units or broadcasting to all. Values are on-wire destination IDs used by commands.

    In this article
    Back to top Generated by DocFX