@kuriousdesign/machine-sdk
Version:
Shared data types and helpers for machine-related repositories
72 lines (64 loc) • 2.13 kB
text/typescript
import { DeviceActionRequestData, initialDeviceActionRequestData } from "./Actions";
export interface ApiOpcuaReqData {
id: number; // likely use timestamp ms after epoch
checkSum: number;
actionRequestData: DeviceActionRequestData;
sts: number;
}
export const initialApiOpcuaReqData: ApiOpcuaReqData = {
id: 0,
checkSum: 0,
actionRequestData: initialDeviceActionRequestData,
sts: 0
};
export interface ApiOpcuaData {
hmiReq: ApiOpcuaReqData; // read by PLC
hmiResp: ApiOpcuaReqData; // written by PLC
orchReq: ApiOpcuaReqData; // read by PLC
orchResp: ApiOpcuaReqData; // written by PLC
req: ApiOpcuaReqData; // written by mtac, read by plc
resp: ApiOpcuaReqData; // written by plc, read by testand
internalReq: ApiOpcuaReqData; // used internally by mtac
internalResp: ApiOpcuaReqData; // used internally by mtac
}
export const initialApiOpcuaData: ApiOpcuaData = {
hmiReq: {} as ApiOpcuaReqData,
hmiResp: {} as ApiOpcuaReqData,
orchReq: {} as ApiOpcuaReqData,
orchResp: {} as ApiOpcuaReqData,
req: {} as ApiOpcuaReqData,
resp: {} as ApiOpcuaReqData,
internalReq: {} as ApiOpcuaReqData,
internalResp: {} as ApiOpcuaReqData
};
export enum ApiReqRespStates {
INACTIVE = 0,
WRITING = 10,
REQUEST_READY = 20,
REJECTED_INVALID_CHECKSUM = 30,
REJECTED_ACTION_NOT_ACCEPTED = 40,
REJECTED_INVALID_SENDERID = 50,
ACCEPTED = 1000,
// ERROR = 911,
// DONE = 1000
}
export function apiReqRespStateToString(state: ApiReqRespStates): string {
switch (state) {
case ApiReqRespStates.INACTIVE:
return "INACTIVE";
case ApiReqRespStates.WRITING:
return "WRITING";
case ApiReqRespStates.REQUEST_READY:
return "REQUEST_READY";
case ApiReqRespStates.REJECTED_INVALID_CHECKSUM:
return "REJECTED_INVALID_CHECKSUM";
case ApiReqRespStates.REJECTED_ACTION_NOT_ACCEPTED:
return "REJECTED_ACTION_NOT_ACCEPTED";
case ApiReqRespStates.REJECTED_INVALID_SENDERID:
return "REJECTED_INVALID_SENDERID";
case ApiReqRespStates.ACCEPTED:
return "ACCEPTED";
default:
return "UNKNOWN";
}
}