Files
handleaiuinew/env/LMI/include/GoSdk/GoMultiplexBank.h
T
2024-05-18 23:53:26 +08:00

98 lines
3.4 KiB
C

/**
* @file GoMultiplexBank.h
* @brief Declares the GoMultiplexBank class.
*
* @internal
* Copyright (C) 2016-2021 by LMI Technologies Inc.
* Licensed under the MIT License.
* Redistributed files must retain the above copyright notice.
*/
#ifndef GO_MULTIPLEXBANK_H
#define GO_MULTIPLEXBANK_H
#include <GoSdk/GoSdkDef.h>
#include <GoSdk/GoSensor.h>
/**
* @class GoMultiplexBank
* @extends kObject
* @note Supported with G1, G2
* @ingroup GoSdk
* @brief Represents a bank of related sensors to be used in multiplexing.
*/
typedef kObject GoMultiplexBank;
/**
* Adds a sensor to the given multiplexing bank.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @param sensor A connected handle to the sensor to add.
* @return Operation status.
*/
GoFx(kStatus) GoMultiplexBank_AddSensor(GoMultiplexBank bank, GoSensor sensor);
/**
* Removes a sensor from the given multiplexing bank.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @param id The ID of the sensor in the bank to the remove.
* @return Operation status.
*/
GoFx(kStatus) GoMultiplexBank_RemoveSensor(GoMultiplexBank bank, k32u id);
/**
* Returns the count corresponding to the number of sensors in the multiplexing bank.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @return The multiplexing bank's sensor count.
*/
GoFx(kSize) GoMultiplexBank_SensorCount(GoMultiplexBank bank);
/**
* Gets a sensor handle from the given index.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @param index Multiplexing bank index from which to obtain a sensor handle.
* @return A GoSensor object.
*/
GoFx(GoSensor) GoMultiplexBank_SensorAt(GoMultiplexBank bank, kSize index);
/**
* Returns a boolean value representing whether a sensor is in the multiplexing bank.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @param id The sensor ID to search for.
* @return kTRUE if the sensor is in the multiplexing bank, kFALSE otherwise.
*/
GoFx(kBool) GoMultiplexBank_HasSensor(GoMultiplexBank bank, k32u id);
/**
* Gets the ID of the given multiplexing bank.
*
* @public @memberof GoMultiplexBank
* @note Supported with G1, G2
* @version Introduced in firmware 4.0.10.27
* @param bank GoMultiplexBank object.
* @return The multiplexing bank ID.
*/
GoFx(k32u) GoMultiplexBank_Id(GoMultiplexBank bank);
#include <GoSdk/GoMultiplexBank.x.h>
#endif