@kvaser/canking-api
Version:
CanKing API to communicate with the CanKing service using Node.js.
682 lines (681 loc) • 33.6 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import Long from "long";
import { CanBusParams } from "./device_params";
import { WriteFrame } from "./frame_params";
/** Possible CAN modes. */
export declare enum CanMode {
CAN_MODE_UNSPECIFIED = 0,
/** CAN_MODE_CAN - Classic CAN mode. */
CAN_MODE_CAN = 1,
/** CAN_MODE_CAN_FD - CAN FD mode. */
CAN_MODE_CAN_FD = 2,
/** CAN_MODE_CAN_FD_NONISO - CAN FD non-ISO mode. */
CAN_MODE_CAN_FD_NONISO = 3,
/** CAN_MODE_CAN_XL - CAN XL mode. */
CAN_MODE_CAN_XL = 4,
UNRECOGNIZED = -1
}
export declare function canModeFromJSON(object: any): CanMode;
export declare function canModeToJSON(object: CanMode): string;
/** Possible access modes. */
export declare enum AccessMode {
ACCESS_MODE_UNSPECIFIED = 0,
/**
* ACCESS_MODE_INIT_ACCESS - Open the handle with init access.
* A handle opened with init access will set the bitrate when the handle is opened.
*/
ACCESS_MODE_INIT_ACCESS = 1,
/**
* ACCESS_MODE_NO_INIT_ACCESS - Don't open the handle with init access.
* A handle opened without init access will still set default bitrate when going on bus,
* if no other handle has opened the channel with init access at the time of the bus on.
*/
ACCESS_MODE_NO_INIT_ACCESS = 2,
/**
* ACCESS_MODE_EXCLUSIVE_ACCESS - Don't allow sharing of this CANlib channel.
* Two or more threads or applications can share the same CAN channel by opening multiple handles
* to the same CANlib channel. If this is not desired you can open a single exclusive handle to a
* channel which is done by using passing the canOPEN_EXCLUSIVE flag in the flags argument to canOpenChannel().
* If a handle to the CANlib channel is already open, the call to canOpenChannel() will fail.
*/
ACCESS_MODE_EXCLUSIVE_ACCESS = 3,
UNRECOGNIZED = -1
}
export declare function accessModeFromJSON(object: any): AccessMode;
export declare function accessModeToJSON(object: AccessMode): string;
/** Possible CAN message filter types. */
export declare enum CanMessageFilterType {
CAN_MESSAGE_FILTER_TYPE_UNSPECIFIED = 0,
/** CAN_MESSAGE_FILTER_TYPE_PASS - Pass listed messages. */
CAN_MESSAGE_FILTER_TYPE_PASS = 1,
/** CAN_MESSAGE_FILTER_TYPE_BLOCK - Block listed messages. */
CAN_MESSAGE_FILTER_TYPE_BLOCK = 2,
UNRECOGNIZED = -1
}
export declare function canMessageFilterTypeFromJSON(object: any): CanMessageFilterType;
export declare function canMessageFilterTypeToJSON(object: CanMessageFilterType): string;
/** Possible CAN configuration modes. */
export declare enum CanConfigMode {
CAN_CONFIG_MODE_UNSPECIFIED = 0,
/** CAN_CONFIG_MODE_3_SAMPLES - Triple sampling mode. */
CAN_CONFIG_MODE_3_SAMPLES = 4,
/** CAN_CONFIG_MODE_TDC_OFF - Disable Transmitter-Delay Compensation (TDC). */
CAN_CONFIG_MODE_TDC_OFF = 512,
/** CAN_CONFIG_MODE_TDC_MANUAL - Use kvTdc.offset instead of delay dynamically measured by the transceiver. */
CAN_CONFIG_MODE_TDC_MANUAL = 1024,
/** CAN_CONFIG_MODE_TDC_ABS_SP - kvTdc.offset is relative to TDC instead of Sample Point (SP). */
CAN_CONFIG_MODE_TDC_ABS_SP = 2048,
/** CAN_CONFIG_MODE_XL_TMS - Transceiver Mode Switching to Pulse-Width Modulation in XL Data phase. */
CAN_CONFIG_MODE_XL_TMS = 4096,
/** CAN_CONFIG_MODE_ERR_SIGNAL_OFF - XL error signalling disable. */
CAN_CONFIG_MODE_ERR_SIGNAL_OFF = 8192,
UNRECOGNIZED = -1
}
export declare function canConfigModeFromJSON(object: any): CanConfigMode;
export declare function canConfigModeToJSON(object: CanConfigMode): string;
/** Possible signal value trigger operators. */
export declare enum SignalValueTriggerOperator {
SIGNAL_VALUE_TRIGGER_OPERATOR_UNSPECIFIED = 0,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_EQUAL_TO - Equal to */
SIGNAL_VALUE_TRIGGER_OPERATOR_EQUAL_TO = 1,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_NOT_EQUAL_TO - Not equal to */
SIGNAL_VALUE_TRIGGER_OPERATOR_NOT_EQUAL_TO = 2,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_LESS_THAN - Less than */
SIGNAL_VALUE_TRIGGER_OPERATOR_LESS_THAN = 3,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_LESS_THAN_OR_EQUAL - Less than or equal to */
SIGNAL_VALUE_TRIGGER_OPERATOR_LESS_THAN_OR_EQUAL = 4,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_GREATER_THAN_OR_EQUAL - Greater than or equal to */
SIGNAL_VALUE_TRIGGER_OPERATOR_GREATER_THAN_OR_EQUAL = 5,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_GREATER_THAN - Greater than */
SIGNAL_VALUE_TRIGGER_OPERATOR_GREATER_THAN = 6,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_CHANGE_TO - Change to */
SIGNAL_VALUE_TRIGGER_OPERATOR_CHANGE_TO = 7,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_CHANGE_FROM - Change from */
SIGNAL_VALUE_TRIGGER_OPERATOR_CHANGE_FROM = 8,
/** SIGNAL_VALUE_TRIGGER_OPERATOR_ON_CHANGE - On change */
SIGNAL_VALUE_TRIGGER_OPERATOR_ON_CHANGE = 9,
UNRECOGNIZED = -1
}
export declare function signalValueTriggerOperatorFromJSON(object: any): SignalValueTriggerOperator;
export declare function signalValueTriggerOperatorToJSON(object: SignalValueTriggerOperator): string;
/** Possible trigger operators. */
export declare enum TriggerOperator {
TRIGGER_OPERATOR_UNSPECIFIED = 0,
/** TRIGGER_OPERATOR_AND - Logical AND between triggers. */
TRIGGER_OPERATOR_AND = 1,
/** TRIGGER_OPERATOR_OR - Logical OR between triggers. */
TRIGGER_OPERATOR_OR = 2,
UNRECOGNIZED = -1
}
export declare function triggerOperatorFromJSON(object: any): TriggerOperator;
export declare function triggerOperatorToJSON(object: TriggerOperator): string;
/** Possible log file formats. The values must match the kvlclib FILE_FORMAT values. */
export declare enum LogFileFormat {
LOG_FILE_FORMAT_UNSPECIFIED = 0,
/** LOG_FILE_FORMAT_KME24 - Input and output file format. */
LOG_FILE_FORMAT_KME24 = 1,
/** LOG_FILE_FORMAT_KME25 - Input and output file format. */
LOG_FILE_FORMAT_KME25 = 2,
/** LOG_FILE_FORMAT_VECTOR_ASC - Input and output file format. */
LOG_FILE_FORMAT_VECTOR_ASC = 3,
/** LOG_FILE_FORMAT_CSV - Output file format. */
LOG_FILE_FORMAT_CSV = 4,
/** LOG_FILE_FORMAT_PLAIN_ASC - Input and output file format. */
LOG_FILE_FORMAT_PLAIN_ASC = 5,
/** LOG_FILE_FORMAT_MEMO_LOG - Input (internal device logfile format). */
LOG_FILE_FORMAT_MEMO_LOG = 6,
/** LOG_FILE_FORMAT_KME40 - Input and output file format. */
LOG_FILE_FORMAT_KME40 = 7,
/** LOG_FILE_FORMAT_VECTOR_BLF - Output file format. */
LOG_FILE_FORMAT_VECTOR_BLF = 8,
/** LOG_FILE_FORMAT_KME50 - Input and output file format. */
LOG_FILE_FORMAT_KME50 = 9,
/** LOG_FILE_FORMAT_KME60 - Input and output file format. */
LOG_FILE_FORMAT_KME60 = 10,
/** LOG_FILE_FORMAT_CSV_SIGNAL - Output file format. */
LOG_FILE_FORMAT_CSV_SIGNAL = 100,
/** LOG_FILE_FORMAT_MDF - Input and output file format. */
LOG_FILE_FORMAT_MDF = 101,
/** LOG_FILE_FORMAT_MATLAB - Output file format. */
LOG_FILE_FORMAT_MATLAB = 102,
/**
* LOG_FILE_FORMAT_J1587_ALT - Output file format. Currently not supported.
* LOG_FILE_FORMAT_J1587 = 103;
* Obsolete. Superseded by LOG_FILE_FORMAT_J1587 (103, currently unsupported).
*
* @deprecated
*/
LOG_FILE_FORMAT_J1587_ALT = 104,
/** LOG_FILE_FORMAT_FAMOS - Output file format. */
LOG_FILE_FORMAT_FAMOS = 105,
/** LOG_FILE_FORMAT_MDF_SIGNAL - Output file format. */
LOG_FILE_FORMAT_MDF_SIGNAL = 106,
/** LOG_FILE_FORMAT_MDF_4X - Output file format. */
LOG_FILE_FORMAT_MDF_4X = 107,
/** LOG_FILE_FORMAT_MDF_4X_SIGNAL - Output file format. */
LOG_FILE_FORMAT_MDF_4X_SIGNAL = 108,
/** LOG_FILE_FORMAT_VECTOR_BLF_FD - Input and output file format. */
LOG_FILE_FORMAT_VECTOR_BLF_FD = 109,
/** LOG_FILE_FORMAT_XCP - Not supported. */
LOG_FILE_FORMAT_XCP = 200,
/** LOG_FILE_FORMAT_FAMOS_XCP - Not supported. */
LOG_FILE_FORMAT_FAMOS_XCP = 201,
/** LOG_FILE_FORMAT_DEBUG - Reserved for debug. */
LOG_FILE_FORMAT_DEBUG = 1000,
UNRECOGNIZED = -1
}
export declare function logFileFormatFromJSON(object: any): LogFileFormat;
export declare function logFileFormatToJSON(object: LogFileFormat): string;
/** Possible actions to use if a log file already exists with the same name. */
export declare enum FileConflictAction {
FILE_CONFLICT_ACTION_UNSPECIFIED = 0,
/** FILE_CONFLICT_ACTION_OVERWRITE - Overwrite the existing file. */
FILE_CONFLICT_ACTION_OVERWRITE = 1,
/** FILE_CONFLICT_ACTION_APPEND_INDEX - Append an index to the file name. */
FILE_CONFLICT_ACTION_APPEND_INDEX = 2,
/** FILE_CONFLICT_ACTION_APPEND_TIMESTAMP - Append a timestamp to the file name. */
FILE_CONFLICT_ACTION_APPEND_TIMESTAMP = 3,
UNRECOGNIZED = -1
}
export declare function fileConflictActionFromJSON(object: any): FileConflictAction;
export declare function fileConflictActionToJSON(object: FileConflictAction): string;
/** Possible decimal separators for loggers. */
export declare enum DecimalChar {
DECIMAL_CHAR_UNSPECIFIED = 0,
/** DECIMAL_CHAR_DEC_DOT - Dot (.) separator */
DECIMAL_CHAR_DEC_DOT = 1,
/** DECIMAL_CHAR_DEC_COMMA - Comma (,) separator */
DECIMAL_CHAR_DEC_COMMA = 2,
UNRECOGNIZED = -1
}
export declare function decimalCharFromJSON(object: any): DecimalChar;
export declare function decimalCharToJSON(object: DecimalChar): string;
/** Possible column separators for loggers. */
export declare enum Separator {
SEPARATOR_UNSPECIFIED = 0,
/** SEPARATOR_COMMA - Comma (,) separator */
SEPARATOR_COMMA = 1,
/** SEPARATOR_SEMICOLON - Semicolon (;) separator */
SEPARATOR_SEMICOLON = 2,
UNRECOGNIZED = -1
}
export declare function separatorFromJSON(object: any): Separator;
export declare function separatorToJSON(object: Separator): string;
/** Possible time references for loggers. */
export declare enum TimeReference {
TIME_REFERENCE_UNSPECIFIED = 0,
/** TIME_REFERENCE_FIRST_TRIGGER - Time is relative to the first trigger. */
TIME_REFERENCE_FIRST_TRIGGER = 1,
/** TIME_REFERENCE_START_OF_MEASUREMENT - Time is relative to the start of the measurement. */
TIME_REFERENCE_START_OF_MEASUREMENT = 2,
UNRECOGNIZED = -1
}
export declare function timeReferenceFromJSON(object: any): TimeReference;
export declare function timeReferenceToJSON(object: TimeReference): string;
/** A message for defining Transmitter-Delay Compensation (TDC) configuration. */
export interface TdcConfiguration {
/**
* Secondary Sample Point (SSP) offset (mtq).
* @remarks
* ```text
* -+---------------+- TX bit
* |<-- SP -->|
* -+---------------+- RX bit
* |<--- TDC --->|<-- SP -->|
* |<->| relative SSP offset
* |<------------>| absolute SSP offset
* |<------ Secondary SP ------>|
* ```
* This value is relative to the Sample Point (SP), unless
* canMODE_TDC_ABS_SP is set. With canMODE_TDC_MANUAL the transmitter delay
* otherwise dynamically measured by the transceiver should be included.
* Required to be zeroed if canMODE_TDC_OFF is set.
*/
offset: number;
}
/**
* A message for defining a CAN channel's configuration.
* @remarks
* When using CAN FD or CAN XL, both arbitration and data phase bus parameters
* must be specified. For CAN XL, both CAN FD and CAN XL data phase parameters
* must be specified.
* Specify either only the bit rate or both the bit rate and the sample point
* or only the bus parameters for each phase. If the bus parameters are specified,
* the bit rate and sample point values are ignored (will be calculated automatically).
* If only the bit rate is specified, the sample point will be set to a default
* value of 75% for classic CAN and 80% for CAN FD and CAN XL
*/
export interface CanChannelConfiguration {
/** The CAN mode to use. */
canMode: CanMode;
/** The access mode to use. */
accessMode: AccessMode;
/** Set to true to enable silent mode, otherwise the channel will be setup as normal. */
silentMode: boolean;
/** Bit rate of the selected bus params for classic CAN or the selected bus params for the arbitration phase in CAN FD/CAN XL. */
busParamsBitRate: number;
/** The selected bus params for classic CAN or the selected bus params for the arbitration phase in CAN FD/CAN XL. */
busParams: CanBusParams | undefined;
/** Bit rate of the selected bus params for the data phase in CAN FD. */
busParamsBitRateFd?: number | undefined;
/** The selected bus params for the data phase in CAN FD. */
busParamsFd?: CanBusParams | undefined;
/** Bit rate of the selected bus params for the data phase in CAN XL. */
busParamsBitRateXl?: number | undefined;
/** The selected bus params for the data phase in CAN XL. */
busParamsXl?: CanBusParams | undefined;
/** Sample point in percentage of the selected bus params for classic CAN or the selected bus params for the arbitration phase in CAN FD/CAN XL. */
busParamsSamplePoint?: number | undefined;
/** Sample point in percentage of the selected bus params for the data phase in CAN FD. */
busParamsSamplePointFd?: number | undefined;
/** Sample point in percentage of the selected bus params for the data phase in CAN XL. */
busParamsSamplePointXl?: number | undefined;
/** The CAN configuration mode to use. */
canConfigModes: CanConfigMode[];
/** CAN FD Transmitter-Delay Compensation (TDC). */
fdTdc?: TdcConfiguration | undefined;
/** CAN XL Transmitter-Delay Compensation (TDC). */
xlTdc?: TdcConfiguration | undefined;
/** PWM short phase (mtq). */
pwms?: number | undefined;
/** PWM long phase (mtq). */
pwml?: number | undefined;
/** PWM time offset (mtq). */
pwmo?: number | undefined;
}
/** A message for defining a LIN channel's configuration. */
export interface LinChannelConfiguration {
/** Bit rate in bits per second, possible values are 1000-20000 bps. */
bitRate: number;
/** The LIN protocol version, possible values 1.3, 2.0, 2.1 or 2.2. */
protocolVersion: string;
/** Set to true to act as master, otherwise the channel will be setup as slave. */
masterMode: boolean;
/** If master mode is set to true, this is the LIN configuration file to use. */
databaseFile?: string | undefined;
/** If master mode is set to true, this is the schedule table to use. */
scheduleTable?: string | undefined;
/** Set to true if LIN message info should be saved. */
saveMessageInfo: boolean;
}
/** A message for defining a channel's settings. */
export interface ChannelSettings {
/** The canlib channel number */
channelNumber: number;
/** Lock the channel to a specific serial number */
lockedToSerialNumber: boolean;
/** The device product code */
deviceProductCode: string;
/** The device serial number */
deviceSerialNumber: string;
/** The channel number on the device */
channelNumberOnDevice: number;
/** The device card type */
deviceCardType: number;
/** The device card number */
deviceCardNumber: number;
/** The CAN channel configuration */
canConfiguration?: CanChannelConfiguration | undefined;
/** The LIN channel configuration */
linConfiguration?: LinChannelConfiguration | undefined;
/** Supported protocols by the channel */
protocols: string[];
}
/** A message for defining a log replay's settings. */
export interface LogReplaySettings {
/** A dictionary consisting of the channels found in the log file mapped to the channel identifiers to be used when replaying the file. */
channelIdentifiers: {
[key: string]: string;
};
/** Full path to the log file to read CAN frames from. */
logFile: string;
/** Number of iterations to loop the log file. Set to -1 to iterate forever. Default value is 1. */
iterations: number;
/** Static sample rate in milliseconds to send the CAN frames at. If zero, timestamps from the log file will be used. Default value is 0. */
sampleRateMs: number;
/** If only Rx (1), Tx (2), or both (3) messages shall be replayed. Default value is 1 (Rx). */
transceiverMode: number;
/** Replay error frames as well. Default value is false. */
includeErrorFrames: boolean;
/** Send the first message straight away (1), after the time specified in the log file (2) or after an offset (3). Default value is 1 (send directly). */
sendFirstMessageMode: number;
/** Time offset in milliseconds until sending the first message. Default value is 0. This parameter shall be used together with the mode for sending the first message after an offset (3). */
timeOffsetMs?: number | undefined;
/** Factor in percentage for speeding up or down the waiting time until sending the next message. */
timeFactor?: number | undefined;
/** Minimum waiting time variance (0-1) for how long to wait before sending the next message. The resulting range will be between the time factor and the time factor minus the lower variance. */
lowerVariance?: number | undefined;
/** Maximum waiting time variance (0-1) for how long to wait before sending the next message. The resulting range will be between the time factor and the time factor plus the higher variance. */
higherVariance?: number | undefined;
/** Increase the speed by the time factor. Default value is true. */
increaseSpeed?: boolean | undefined;
}
export interface LogReplaySettings_ChannelIdentifiersEntry {
key: string;
value: string;
}
/** A message defining a periodic transmission setup. */
export interface PeriodicTransmissionSettings {
/** The channel to be used */
channelIdentifier: string;
/** The message frame to be sent out */
frame: WriteFrame | undefined;
/** Send out with random or constant interval */
randomInterval: boolean;
/** Constant interval in milliseconds that is used if random_interval is false */
constantIntervalMs: number;
/** Random min interval in milliseconds that is used if random_interval is true */
randomIntervalMinMs: number;
/** Random max interval in milliseconds that is used if random_interval is true */
randomIntervalMaxMs: number;
/** Number of messages to send out, if set to 0 then messages will be sent out continuously until stop is called */
numberOfMessages: number;
/** Randomize the messages' data length */
randomDataLength: boolean;
/** Randomize the messages' data */
randomMessageData: boolean;
/** Send out with random identifier, ignored if scan_identifier is set */
randomIdentifier: boolean;
/** Send out with identifier set from min to max */
scanIdentifier: boolean;
/** Random/Scan min identifier */
identifierMin: number;
/** Random/Scan max identifier */
identifierMax: number;
/** Send out with random or constant burst size */
randomBurstSize: boolean;
/** Constant burst size that is used if random_burst_size is false */
constantBurstSize: number;
/** Random min burst size that is used if random_burst_size is true */
randomBurstSizeMin: number;
/** Random max burst size that is used if random_burst_size is true */
randomBurstSizeMax: number;
}
/** A message for defining a CAN message filter's settings. */
export interface CanMessageFilterSettings {
/** A comma separated list containing the standard CAN IDs to filter */
stdCanIds: string;
/** A comma separated list containing the extended CAN IDs to filter */
extCanIds: string;
/** The filter type to be used */
filterType: CanMessageFilterType;
}
/** A message for defining a signal filter's settings. */
export interface SignalFilterSettings {
/** A collection with the qualified names of the signals to log */
selectedSignals: string[];
/** A collection with identifiers of the sources to be used for each signal, should be in the same order with the same length as selected_signals */
sourceIdentifiers: string[];
}
/** A message for defining a database's settings. */
export interface DatabasesSettings {
/** A list of database files to be used */
databaseFiles: string[];
}
/** A message for defining interpreter settings */
export interface InterpreterSettings {
/** J1939 */
j1939Settings?: J1939InterpreterSettings | undefined;
}
/**
* A message for defining a J1939 interpreter's specific settings.
* Intentional placeholder — J1939-specific configuration fields will be added here
* in a future release when J1939 interpreter settings are exposed by the service.
*/
export interface J1939InterpreterSettings {
}
/** A message for defining service extension settings. */
export interface ServiceExtensionSettings {
/** The name of the service extension. */
extensionName: string;
/** The configuration string for the service extension. */
configuration?: string | undefined;
}
/** A message for defining an On Frame Received trigger. */
export interface FrameReceivedTrigger {
/** The identifier of the frame to look for. Prefix with 0x to indicate hex-format. */
frameId: string;
/** The type of identifier used, 'extended' or 'standard' */
frameIdType: string;
/** The source identifier of the frame to look for. If not specified, all sources are considered. */
sourceId?: string | undefined;
}
/** A message for defining an On Signal Value trigger. */
export interface SignalValueTrigger {
/** The identifier of the frame containing the signal. Prefix with 0x to indicate hex-format. */
frameId: string;
/** The name of the signal. */
signalQualifiedName: string;
/** The value to look for, if a single value is used. */
signalValue: number;
/** The min value to look for, if a value range is used. */
signalMinValue: number;
/** The max value to look for, if a value range is used. */
signalMaxValue: number;
/** The operator to use. */
operator: SignalValueTriggerOperator;
/** The type of id used, 'extended' or 'standard' */
frameIdType: string;
/** The source identifier of the frame to look for. If not specified, all sources are considered. */
sourceId?: string | undefined;
}
/** A message for defining a trigger condition. */
export interface TriggerSettings {
/** A timeout trigger, e.g. can be used as stop trigger to stop after a specific time. Specified in milliseconds. */
timeoutTrigger?: number | undefined;
/** An on frame received trigger. */
frameReceivedTrigger?: FrameReceivedTrigger | undefined;
/** An on signal value trigger. */
signalValueTrigger?: SignalValueTrigger | undefined;
}
/** A message for defining a message logger's settings. */
export interface MessageLoggerSettings {
/** Name of the file to log messages to */
fileName: string;
/** The file format to be used */
fileFormat: LogFileFormat;
/** Name conflict action */
fileConflictAction: FileConflictAction;
/** Any filter */
canMessageFilter: CanMessageFilterSettings | undefined;
/** Any start triggers */
startTriggerSettings: TriggerSettings[];
/** The trigger operator to be used between start triggers */
startTriggersOperator: TriggerOperator;
/** Any stop triggers */
stopTriggerSettings: TriggerSettings[];
/** The trigger operator to be used between stop triggers */
stopTriggersOperator: TriggerOperator;
/** A flag indicating if the logger should auto-restart after stop. Default value is false */
autoRestartAfterStop: boolean;
/** Write file header. Default value is true */
writeFileHeader?: boolean | undefined;
/** Write data in hexadecimal format. Default value is true */
writeDataInHex?: boolean | undefined;
/** Write ID in hexadecimal format. Default value is true */
writeIdInHex?: boolean | undefined;
/** The decimal separator to be used. Default value is a dot (.) */
decimalSeparator?: DecimalChar | undefined;
/** The column separator to be used. Default value is a comma (,) */
colSeparator?: Separator | undefined;
/** Number of data bytes to max write to the log file (1-64). Default value is 8 */
dataBytesConverterLimit?: number | undefined;
/** Max file size in megabytes before writing to a new file */
sizeLimit?: number | undefined;
/** Max number of seconds between first and last event before writing to a new file */
timeLimit?: number | undefined;
/** Number of time decimals (0-9). Default value is 9 */
numberOfTimeDecimals?: number | undefined;
/** Use the specified time reference. Default value is FIRST_TRIGGER */
timeReference?: TimeReference | undefined;
/** Write timestamps in calendar time instead of seconds. Default value is false */
useCalendarTime?: boolean | undefined;
/** Use UTC instead of local time for absolute timestamps. Default value is true */
useUtcTime?: boolean | undefined;
}
/** A message for defining a signal logger's settings. */
export interface SignalLoggerSettings {
/** Name of the file to log signals to */
fileName: string;
/** The file format to be used */
fileFormat: LogFileFormat;
/** Name conflict action */
fileConflictAction: FileConflictAction;
/** Any filter */
signalFilter: SignalFilterSettings | undefined;
/** Any start triggers */
startTriggerSettings: TriggerSettings[];
/** The trigger operator to be used between start triggers */
startTriggersOperator: TriggerOperator;
/** Any stop triggers */
stopTriggerSettings: TriggerSettings[];
/** The trigger operator to be used between stop triggers */
stopTriggersOperator: TriggerOperator;
/** A flag indicating if the logger should auto-restart after stop. Default value is false */
autoRestartAfterStop: boolean;
/** Write file header. Default value is true */
writeFileHeader?: boolean | undefined;
/** Write data in hexadecimal format. Default value is true */
writeDataInHex?: boolean | undefined;
/** Write ID in hexadecimal format. Default value is true */
writeIdInHex?: boolean | undefined;
/** The decimal separator to be used. Default value is a dot (.) */
decimalSeparator?: DecimalChar | undefined;
/** The column separator to be used. Default value is a comma (,) */
colSeparator?: Separator | undefined;
/** Number of data bytes a converter will max write to the log file (1-64). Default value is 64 */
dataBytesConverterLimit?: number | undefined;
/** Max file size in megabytes before writing to a new file */
sizeLimit?: number | undefined;
/** Number of data decimals (0-9). Default value is 4 */
numberOfDataDecimals?: number | undefined;
/** Max number of seconds between first and last event before writing to a new file */
timeLimit?: number | undefined;
/** Number of time decimals (0-9). Default value is 9 */
numberOfTimeDecimals?: number | undefined;
/** Use the specified time reference. Default value is FIRST_TRIGGER */
timeReference?: TimeReference | undefined;
/** Write timestamps in calendar time instead of seconds. Default value is false */
useCalendarTime?: boolean | undefined;
/** Use UTC instead of local time for absolute timestamps. Default value is true */
useUtcTime?: boolean | undefined;
/** Use strings from database instead of integer values. Default value is false */
useEnumValues?: boolean | undefined;
/** Write fully qualified names. Default value is false */
writeFullyQualifiedNames?: boolean | undefined;
/** Write counter. Default value is false */
writeCounter?: boolean | undefined;
/** Write units on a new row. Default value is false */
writeUnitsOnOwnRow?: boolean | undefined;
/** Write only signals and not any data frames. Default value is true */
writeOnlySignals?: boolean | undefined;
}
/** A message for defining base node properties. */
export interface BaseNodeProperties {
/** The unique identifier of the node */
identifier: string;
/** The name of the node */
name: string;
/** Description lines for the node */
description: string[];
/** True if the node's properties are read-only, otherwise false */
readOnlyProperties: boolean;
/** True if the node's connections are read-only, otherwise false */
readOnlyConnections: boolean;
/** True if the node is disabled, otherwise false */
disabled: boolean;
}
/** A message for defining a source node properties. */
export interface SourceNodeProperties {
/** Base properties of the node */
baseNode: BaseNodeProperties | undefined;
/** True if this is a data generator node, otherwise false */
isDataGenerator: boolean;
/** Channel settings */
channelSettings?: ChannelSettings | undefined;
/** Log replay settings */
logReplaySettings?: LogReplaySettings | undefined;
/** Traffic generator settings */
trafficGeneratorSettings?: PeriodicTransmissionSettings | undefined;
}
/** A message for defining a data processor node properties. */
export interface DataProcessorNodeProperties {
/** Base properties of the node */
baseNode: BaseNodeProperties | undefined;
/** Identifiers of connected nodes */
connectedNodes: string[];
/** CAN message filter settings */
canMessageFilterSettings?: CanMessageFilterSettings | undefined;
/** Signal filter settings */
databasesSettings?: DatabasesSettings | undefined;
/** Interpreter settings */
interpreterSettings?: InterpreterSettings | undefined;
/** Service extension settings */
extensionSettings?: ServiceExtensionSettings | undefined;
}
/** A message for defining a target node properties. */
export interface TargetNodeProperties {
/** Base properties of the node */
baseNode: BaseNodeProperties | undefined;
/** Identifiers of connected nodes */
connectedNodes: string[];
/** Message logger settings */
messageLoggerSettings?: MessageLoggerSettings | undefined;
/** Signal logger settings */
signalLoggerSettings?: SignalLoggerSettings | undefined;
/** Service extension settings */
extensionSettings?: ServiceExtensionSettings | undefined;
}
/** A message for defining a measurement setup. */
export interface MeasurementSetup {
/** A list of source nodes. */
sources: SourceNodeProperties[];
/** A list of data processor nodes. */
dataProcessors: DataProcessorNodeProperties[];
/** A list of target nodes. */
targets: TargetNodeProperties[];
/** The measurement's display language. */
language: string;
}
export declare const TdcConfiguration: MessageFns<TdcConfiguration>;
export declare const CanChannelConfiguration: MessageFns<CanChannelConfiguration>;
export declare const LinChannelConfiguration: MessageFns<LinChannelConfiguration>;
export declare const ChannelSettings: MessageFns<ChannelSettings>;
export declare const LogReplaySettings: MessageFns<LogReplaySettings>;
export declare const LogReplaySettings_ChannelIdentifiersEntry: MessageFns<LogReplaySettings_ChannelIdentifiersEntry>;
export declare const PeriodicTransmissionSettings: MessageFns<PeriodicTransmissionSettings>;
export declare const CanMessageFilterSettings: MessageFns<CanMessageFilterSettings>;
export declare const SignalFilterSettings: MessageFns<SignalFilterSettings>;
export declare const DatabasesSettings: MessageFns<DatabasesSettings>;
export declare const InterpreterSettings: MessageFns<InterpreterSettings>;
export declare const J1939InterpreterSettings: MessageFns<J1939InterpreterSettings>;
export declare const ServiceExtensionSettings: MessageFns<ServiceExtensionSettings>;
export declare const FrameReceivedTrigger: MessageFns<FrameReceivedTrigger>;
export declare const SignalValueTrigger: MessageFns<SignalValueTrigger>;
export declare const TriggerSettings: MessageFns<TriggerSettings>;
export declare const MessageLoggerSettings: MessageFns<MessageLoggerSettings>;
export declare const SignalLoggerSettings: MessageFns<SignalLoggerSettings>;
export declare const BaseNodeProperties: MessageFns<BaseNodeProperties>;
export declare const SourceNodeProperties: MessageFns<SourceNodeProperties>;
export declare const DataProcessorNodeProperties: MessageFns<DataProcessorNodeProperties>;
export declare const TargetNodeProperties: MessageFns<TargetNodeProperties>;
export declare const MeasurementSetup: MessageFns<MeasurementSetup>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
[K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
type Exact<P, I extends P> = P extends Builtin ? P : P & {
[K in keyof P]: Exact<P[K], I[K]>;
} & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
interface MessageFns<T> {
encode(message: T, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): T;
fromJSON(object: any): T;
toJSON(message: T): unknown;
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};