UmberHubManager/api/lib/BrainStem2_CCA/Entity_CCA.h

228 lines
14 KiB
C

/////////////////////////////////////////////////////////////////////
// //
// file: Entity_CCA.h
// //
/////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2024 Acroname Inc. - All Rights Reserved //
// //
// This file is part of the BrainStem release. See the license.txt //
// file included with this package or go to //
// https://acroname.com/software/brainstem-development-kit //
// for full license details. //
/////////////////////////////////////////////////////////////////////
#ifndef __Entity_CCA_H__
#define __Entity_CCA_H__
#include "CCA_Core.h"
#ifdef __cplusplus
extern "C" {
#endif
/// \defgroup EntityReturnValues Common EntityClass Return Values
/// Common EntityClass Return Values
/// @{
/// - ::aErrNone - Action completed successfully.
/// - ::aErrTimeout - Request timed out without response.
/// - ::aErrConnection - No active link.
/// @}
/// A callUEI is a setUEI that has no data length.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
aLIBEXPORT void __stdcall entity_callUEI(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option);
/// Set a byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param inValue Byte value to be set
aLIBEXPORT void __stdcall entity_setUEI8(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, int inValue);
/// Set a byte value with a subIndex.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
/// \param inValue Byte value to be set
aLIBEXPORT void __stdcall entity_setUEI8SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex, int inValue);
/// Get a byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
aLIBEXPORT void __stdcall entity_getUEI8(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option);
/// Get a byte value with a parameter.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
aLIBEXPORT void __stdcall entity_getUEI8SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex);
/// Set a byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param inValue 2 byte value to be set
aLIBEXPORT void __stdcall entity_setUEI16(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const int inValue);
/// Set a 2 byte value with a subIndex.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
/// \param inValue 2 byte value to be set
aLIBEXPORT void __stdcall entity_setUEI16SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex, const int inValue);
/// Get a 2 byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
aLIBEXPORT void __stdcall entity_getUEI16(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option);
/// Get a 2 byte value with a parameter.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
aLIBEXPORT void __stdcall entity_getUEI16SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex);
/// Set a 4-byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param inValue 4 byte value to be set
aLIBEXPORT void __stdcall entity_setUEI32(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const int inValue);
/// Set a 4 byte value with a subIndex.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
/// \param inValue 4 byte value to be set
aLIBEXPORT void __stdcall entity_setUEI32SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex, const int inValue);
/// Get a 4 byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
aLIBEXPORT void __stdcall entity_getUEI32(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option);
/// Get a 4 byte value with a parameter.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param subIndex The sub index to be used.
aLIBEXPORT void __stdcall entity_getUEI32SubIndex(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option, const unsigned char subIndex);
/// Set a multi-byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param buffer Pointer to the start of the data to be sent
/// \param bufferLength The amount of data to send in bytes.
aLIBEXPORT void __stdcall entity_setUEIBytes ( unsigned int* id, struct Result* result, const unsigned char cmd , const unsigned char index, const unsigned char option, unsigned char * buffer, const int bufferLength ) ;
/// Get a multi-byte value.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
/// \param buffer Pointer to a buffer to be filled by the call.
/// \param bufferLength The size of the buffer in bytes.
aLIBEXPORT void __stdcall entity_getUEIBytes ( unsigned int* id, struct Result* result, const unsigned char cmd , const unsigned char index, const unsigned char option, unsigned char * buffer, const int bufferLength ) ;
/// Drain all packets matching this UEI from the packet fifo.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param option BrainStem Protocol option code.
aLIBEXPORT void __stdcall entity_drainUEI(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const unsigned char option);
/// Enables streaming for a specific command, option, and index.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param enable The enabled/disabled state to be applied.
aLIBEXPORT void __stdcall entity_setStreamEnabled(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index, const bool enable);
/// Gets all available stream values associated with the cmd and index of the called API.
/// Keys can be decoded with Link::getStreamKeyElement.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR and the requested value or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
/// \param buffer Buffer of user allocated memory to be filled with stream data
/// \param bufferLength Number of elements the buffer can hold.
/// \details ::aErrParam if status or unloadedSize is null
/// \details ::aErrResource - if the link is not valid
/// \details ::aErrNone - success
aLIBEXPORT void __stdcall entity_getStreamStatus(unsigned int* id,
struct Result* result,
const unsigned char cmd,
const unsigned char index,
struct StreamStatusEntry_CCA* buffer,
const unsigned int bufferLength);
/// Resets the provided cmd and index combination to their default factory settings.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
aLIBEXPORT void __stdcall entity_resetEntityToFactoryDefaults(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index);
/// Loads the provided command and index combination from memory.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
aLIBEXPORT void __stdcall entity_loadEntityFromStore(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index);
/// Saves the provided command and index combination to memory.
/// \param id Unique identifier for the internally created stem.
/// \param result object, containing NO_ERROR or a non zero error code.
/// \param cmd BrainStem Protocol command code
/// \param index The index of the UEI
aLIBEXPORT void __stdcall entity_saveEntityToStore(unsigned int* id, struct Result* result, const unsigned char cmd, const unsigned char index);
#ifdef __cplusplus
}
#endif
#endif