.. _program_listing_file__home_asunye_wd_dev_emod_docs_emod_controller_build_x86_install_include_DInput10Module.hpp: Program Listing for File DInput10Module.hpp =========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/home/asunye/wd/dev/emod_docs/emod_controller/build_x86/install/include/DInput10Module.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /**************************************************************************** * @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_