189 lines
8.6 KiB
C
189 lines
8.6 KiB
C
/////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// file: autoGen_DigitalClass_CCA.h //
|
|
// //
|
|
/////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// Copyright (c) 2026 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 __AUTOGEN_DIGITAL_CCA_H__
|
|
#define __AUTOGEN_DIGITAL_CCA_H__
|
|
|
|
// This file was auto-generated. Do not modify.
|
|
|
|
#include "CCA_Core.h"
|
|
|
|
#ifdef __GNUC__
|
|
#define DEPRECATED(...) __attribute__((deprecated(__VA_ARGS__)))
|
|
#elif defined(_MSC_VER)
|
|
#define DEPRECATED(...) __declspec(deprecated(__VA_ARGS__))
|
|
#else
|
|
#define DEPRECATED(...)
|
|
#pragma message("DEPRECATED is not defined for this compiler")
|
|
#endif
|
|
|
|
/// \defgroup DigitalEntity Digital Entity
|
|
/// Interface to digital entities on BrainStem modules.
|
|
/// Digital entities have the following 5 possibilities: Digital Input, Digital Output,
|
|
/// RCServo Input, RCServo Output, and HighZ.
|
|
/// Other capabilities may be available and not all pins support all configurations. Please
|
|
/// see the product datasheet.
|
|
///
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/// Set the digital configuration to one of the available 5 states.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code.
|
|
/// \param index The index of the entity in question.
|
|
/// \param configuration The configuration to be applied
|
|
/// - Digital Input: digitalConfigurationInput = 0
|
|
/// - Digital Output: digitalConfigurationOutput = 1
|
|
/// - RCServo Input: digitalConfigurationRCServoInput = 2
|
|
/// - RCServo Output: digitalConfigurationRCServoOutput = 3
|
|
/// - High Z State: digitalConfigurationHiZ = 4
|
|
/// - Digital Input: digitalConfigurationInputPullUp = 0
|
|
/// - Digital Input: digitalConfigurationInputNoPull = 4
|
|
/// - Digital Input: digitalConfigurationInputPullDown = 5
|
|
///
|
|
/// \note Some configurations are only supported on specific pins.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_setConfiguration(unsigned int* id, struct Result* result, const int index, const unsigned char configuration);
|
|
|
|
/// Get the digital configuration.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
/// \li value: Current configuration of the digital entity.
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code and the requested value if successful.
|
|
/// \param index The index of the entity in question.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_getConfiguration(unsigned int* id, struct Result* result, const int index);
|
|
|
|
/// Set the logical state.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code.
|
|
/// \param index The index of the entity in question.
|
|
/// \param state The state to be set. 0 is logic low, 1 is logic high.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_setState(unsigned int* id, struct Result* result, const int index, const unsigned char state);
|
|
|
|
/// Get the state.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
/// \li value: The current state of the digital entity. 0 is logic low, 1 is logic high.
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code and the requested value if successful.
|
|
/// \param index The index of the entity in question.
|
|
///
|
|
/// \note If in high Z state an error will be returned.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_getState(unsigned int* id, struct Result* result, const int index);
|
|
|
|
/// Sets the logical state of all available digitals based on the bit mapping.
|
|
/// Number of digitals varies across BrainStem modules.
|
|
/// Refer to the datasheet for the capabilities of your module.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code.
|
|
/// \param index The index of the entity in question.
|
|
/// \param state The state to be set for all digitals in a bit mapped representation.
|
|
/// 0 is logic low, 1 is logic high. Where bit 0 = digital 0, bit 1 = digital 1 etc.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_setStateAll(unsigned int* id, struct Result* result, const int index, const unsigned int state);
|
|
|
|
/// Gets the logical state of all available digitals in a bit mapped representation.
|
|
/// Number of digitals varies across BrainStem modules.
|
|
/// Refer to the datasheet for the capabilities of your module.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
/// \li value: The state of all digitals where bit 0 = digital 0,
|
|
/// bit 1 = digital 1 etc. 0 is logic low, 1 is logic high.
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code and the requested value if successful.
|
|
/// \param index The index of the entity in question.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_getStateAll(unsigned int* id, struct Result* result, const int index);
|
|
|
|
/// Set the expected value of the digital pin.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code.
|
|
/// \param index The index of the entity in question.
|
|
/// \param value The expected value of the digital pin. 0 is logic low, 1 is logic high.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_setValue(unsigned int* id, struct Result* result, const int index, const unsigned char value);
|
|
|
|
/// Get the expected value of the digital pin.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
/// \li value: The expected value of the digital pin. 0 is logic low, 1 is logic high.
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code and the requested value if successful.
|
|
/// \param index The index of the entity in question.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_getValue(unsigned int* id, struct Result* result, const int index);
|
|
|
|
/// Set the link channel (entity index) for linking digital entities.
|
|
/// Two digital entities will link when one is configured as LinkInput, one as LinkOutput, and
|
|
/// both have each others linkChannel indexes.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code.
|
|
/// \param index The index of the entity in question.
|
|
/// \param linkChannel The link channel (entity index) value. Entities with matching
|
|
/// linkChannel values can be linked.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_setLinkChannel(unsigned int* id, struct Result* result, const int index, const unsigned char linkChannel);
|
|
|
|
/// Get the link channel (entity index) for linking digital entities.
|
|
///
|
|
/// The result parameter will output the following fields:
|
|
/// \li error: \ref EntityReturnValues common entity return value
|
|
/// \li value: The current link channel (entity index) value.
|
|
///
|
|
/// \param id ID assigned through "module_createStem"
|
|
/// \param result Output object containing result code and the requested value if successful.
|
|
/// \param index The index of the entity in question.
|
|
///
|
|
aLIBEXPORT void __stdcall digital_getLinkChannel(unsigned int* id, struct Result* result, const int index);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __AUTOGEN_DIGITAL_CCA_H__
|