Program Listing for File DInput10Module.hpp¶
↰ Return to documentation for file (/home/asunye/wd/dev/emod_docs/emod_controller/build_x86/install/include/DInput10Module.hpp
)
/****************************************************************************
* @defgroup PackageName Modules
* @file DInput10Module.hpp
* @brief
* @author info@pickdata.net
***************************************************************************/
#ifndef DINPUT_MODULE_HPP_
#define DINPUT_MODULE_HPP_
#include "DInput10Module.h"
#include "Module.hpp"
// Forward declaration
class DigitalInputFunctions;
class DInput10Module : public Module
{
friend class digital_inputs_module;
protected:
DigitalInputFunctions* digitalInputs;
EmodRet initFunctions();
uint8_t getInputsOffsetId();
uint8_t getFunctionsOffsetId();
public:
// Constants
static constexpr uint16_t DI_INPUT01 = DInput10Module_INPUT01;
static constexpr uint16_t DI_INPUT02 = DInput10Module_INPUT02;
static constexpr uint16_t DI_INPUT03 = DInput10Module_INPUT03;
static constexpr uint16_t DI_INPUT04 = DInput10Module_INPUT04;
static constexpr uint16_t DI_INPUT05 = DInput10Module_INPUT05;
static constexpr uint16_t DI_INPUT06 = DInput10Module_INPUT06;
static constexpr uint16_t DI_INPUT07 = DInput10Module_INPUT07;
static constexpr uint16_t DI_INPUT08 = DInput10Module_INPUT08;
static constexpr uint16_t DI_INPUT09 = DInput10Module_INPUT09;
static constexpr uint16_t DI_INPUT10 = DInput10Module_INPUT10;
static constexpr uint16_t DI_ALL_INPUT = DInput10Module_ALL_INPUT;
static constexpr uint8_t NUMBER_OF_DI_INPUTS = DInput10Module_NUMBER_OF_DI_INPUTS;
static constexpr uint32_t MODE_PRETRIGGER_TIME = DInput10Module_MODE_PRETRIGGER_TIME;
static constexpr uint32_t MODE_PULSE_COUNTER = DInput10Module_MODE_PULSE_COUNTER;
static constexpr uint32_t MODE_WIDTH_COUNTER = DInput10Module_MODE_WIDTH_COUNTER;
static constexpr uint8_t idFunctionINPUTS = DInput10Module_idFunctionINPUTS;
static constexpr uint8_t idFunctionCOUNTER01 = DInput10Module_idFunctionCOUNTER01;
static constexpr uint8_t idFunctionCOUNTER02 = DInput10Module_idFunctionCOUNTER02;
static constexpr uint8_t idFunctionCOUNTER03 = DInput10Module_idFunctionCOUNTER03;
static constexpr uint8_t idFunctionCOUNTER04 = DInput10Module_idFunctionCOUNTER04;
static constexpr uint8_t idFunctionCOUNTER05 = DInput10Module_idFunctionCOUNTER05;
static constexpr uint8_t idFunctionCOUNTER06 = DInput10Module_idFunctionCOUNTER06;
static constexpr uint8_t idFunctionCOUNTER07 = DInput10Module_idFunctionCOUNTER07;
static constexpr uint8_t idFunctionCOUNTER08 = DInput10Module_idFunctionCOUNTER08;
static constexpr uint8_t idFunctionCOUNTER09 = DInput10Module_idFunctionCOUNTER09;
static constexpr uint8_t idFunctionCOUNTER10 = DInput10Module_idFunctionCOUNTER10;
// Constructor, destructor and init methods
DInput10Module();
~DInput10Module();
EmodRet init( const DInput10ModuleCallback_Type callback_func = nullptr, void* const callback_context = nullptr, const uint8_t variant = 1 );
EmodRet init( const uint8_t variant );
// DI methods
EmodRet getStatus( const uint16_t DI_INPUT_mask, uint8_t* status, bool* new_data = nullptr );
EmodRet getAllStatus( uint8_t status[NUMBER_OF_DI_INPUTS], bool* new_data = nullptr );
EmodRet setPulseFilterTime( const uint16_t DI_INPUT_mask, const uint32_t ms_time );
EmodRet setAllPulseFilterTime( const uint32_t ms_time );
EmodRet getPulseFilterTime( const uint16_t DI_INPUT_mask, uint32_t* ms_time );
EmodRet getAllPulseFilterTime( uint32_t ms_times[NUMBER_OF_DI_INPUTS] );
EmodRet getPulseCount( const uint16_t DI_INPUT_mask, uint32_t* count );
EmodRet getAllPulseCount( uint32_t counts[NUMBER_OF_DI_INPUTS] );
EmodRet resetPulseCount( uint16_t DI_INPUT_mask );
EmodRet resetAllPulseCount( );
EmodRet getPulseWidth( const uint16_t DI_INPUT_mask, uint32_t* width );
EmodRet getAllPulseWidth( uint32_t widths[NUMBER_OF_DI_INPUTS] );
// Callback methods
EmodRet configEventAtTimeInterval( const uint32_t time_interval );
EmodRet switchToMode( const uint16_t DI_INPUT_mask, const uint32_t mode );
EmodRet configEventOnNewData( );
EmodRet configEventOnValueChange( const uint32_t threshold, const uint32_t event_mask = DI_ALL_INPUT );
EmodRet resetEventConfig( void );
};
#endif // DINPUT_MODULE_HPP_