/**
 * Copyright (c) 2024 Opal Kelly Incorporated
 *
 * This source code is licensed under the FrontPanel license.
 * See the LICENSE file found in the root directory of this project.
 */

import { AddressRange } from "./AddressRange";

/**
 * Address range for WireIn endpoints.
 */
export const WIREIN_ADDRESS_RANGE: AddressRange = { minimum: 0x00, maximum: 0x1f };

/**
 * Address range for WireOut endpoints.
 */
export const WIREOUT_ADDRESS_RANGE: AddressRange = { minimum: 0x20, maximum: 0x3f };

/**
 * Address range for TriggerIn endpoints.
 */
export const TRIGGERIN_ADDRESS_RANGE: AddressRange = { minimum: 0x40, maximum: 0x5f };

/**
 * Address range for TriggerOut endpoints.
 */
export const TRIGGEROUT_ADDRESS_RANGE: AddressRange = {
    minimum: 0x60,
    maximum: 0x7f
};

/**
 * Address range for PipeIn endpoints.
 */
export const PIPEIN_ADDRESS_RANGE: AddressRange = { minimum: 0x80, maximum: 0x9f };

/**
 * Address range for PipeOut endpoints
 */
export const PIPEOUT_ADDRESS_RANGE: AddressRange = { minimum: 0xa0, maximum: 0xbf };
