27#ifndef PROTOCORE_MTCONNECT_H
28#define PROTOCORE_MTCONNECT_H
34#if PC_ENABLE_MTCONNECT
37enum class pc_mtc_category : uint8_t
60void pc_mtc_streams_begin(pc_mtc_streams *s,
char *buf,
size_t cap, uint64_t instance_id, uint64_t next_seq,
61 const char *device_name);
72void pc_mtc_streams_add(pc_mtc_streams *s, pc_mtc_category cat,
const char *type,
const char *data_id, uint64_t seq,
73 const char *timestamp,
const char *value);
76size_t pc_mtc_streams_end(pc_mtc_streams *s);
82size_t pc_mtc_error(uint64_t instance_id,
const char *error_code,
const char *message,
char *out,
size_t cap);
93void pc_mtc_devices_begin(pc_mtc_streams *s,
char *buf,
size_t cap, uint64_t instance_id,
const char *device_id,
94 const char *device_name,
const char *uuid);
104void pc_mtc_devices_add_item(pc_mtc_streams *s, pc_mtc_category cat,
const char *
id,
const char *type,
const char *name,
108size_t pc_mtc_devices_end(pc_mtc_streams *s);
118void pc_mtc_assets_begin(pc_mtc_streams *s,
char *buf,
size_t cap, uint64_t instance_id, uint32_t asset_count,
119 uint32_t asset_buffer_size);
129void pc_mtc_assets_cutting_tool_begin(pc_mtc_streams *s,
const char *asset_id,
const char *serial_number,
130 const char *tool_id,
const char *device_uuid,
const char *timestamp);
139void pc_mtc_assets_tool_life(pc_mtc_streams *s,
const char *type,
const char *count_direction,
const char *limit,
143void pc_mtc_assets_cutting_tool_end(pc_mtc_streams *s);
146size_t pc_mtc_assets_end(pc_mtc_streams *s);
151struct pc_mtc_observation
170struct pc_mtc_sample_buffer
183void pc_mtc_sample_buffer_init(pc_mtc_sample_buffer *b, uint64_t start_seq);
189uint64_t pc_mtc_sample_buffer_add(pc_mtc_sample_buffer *b, pc_mtc_category cat,
const char *type,
const char *data_id,
190 const char *timestamp,
const char *value);
201size_t pc_mtc_sample_query(
const pc_mtc_sample_buffer *b,
char *buf,
size_t cap, uint64_t instance_id,
202 const char *device_name, uint64_t from, uint32_t count);
User-facing configuration for ProtoCore.
#define PC_MTC_SAMPLE_BUFFER
MTConnect rolling sample buffer sizing (PC_ENABLE_MTCONNECT).