AddiPack Documentation Logo

About Addi-Pack

  • Introduction
    • What is Addi-Pack?
    • Core Principles
    • Architecture
  • Getting Started
    • Installation Guide
      • Overview
      • OS Dependencies
      • Installation
        • Inserting a PCI, PCIe or CPCI/CPCIs card
        • Windows
        • Linux (Debian / Ubuntu)
        • CentOS Stream 10
        • Verify Installation
          • Using the CLI sample
          • Using Python
      • Ready-to-use Samples
      • Installation Known Issues
    • API Programming Guide
      • Overview
      • Language Interfaces
      • Typical Workflow
      • Examples
        • C
        • C++
        • Python
      • Error Handling
        • Error Code Layout
        • Example
      • Working with Structures and Types
        • Structure AddiDataDeviceStruct
        • Timer / Counter / Watchdog Identifiers
        • Digital I/O Channels
        • Enumerations
    • Driver Concepts Guide
      • Overview
      • Driver Architecture
      • Interrupts vs Polling
        • Why Use Interrupts?
      • Understanding Interrupt Handling
      • Device Identification
      • Compatibility DLLs (older API Support)
        • How It Works
        • Why This Matters
        • How to Use Compatibility DLLs (Windows)
        • Use PCI Samples (Old Windows KMDF) on PCIe Hardware (Windows) using PCI DLL
      • Fundamentals
        • Timer
        • Counter
        • Watchdog
    • Addi-Pack Samples
      • Overview
      • Sample Utilities
        • Key Concepts
        • C Utilities
        • C++ Utilities
        • Python Utilities
      • get_devices_info
        • Key Features
        • Example Usage
      • digital_input
        • Concept and Purpose
        • Execution Workflow
        • Runtime Behavior
      • digital_output
        • Concept and Purpose
        • Execution Workflow
        • Runtime Behavior
      • digital_port
      • timer
        • Concept and Purpose
        • Execution Workflow
        • Runtime Behavior
      • counter
        • Concept and Purpose
        • Execution Workflow
        • Runtime Behavior
      • watchdog
        • Concept and Purpose
        • Execution Workflow
        • Runtime Behavior
        • Card-Specific Notes
          • Interrupt Source Mapping
  • Technical Documentation
    • C API
      • C GENERIC
        • AddiDataGetNumberOfDevices()
        • AddiDataGetDeviceList()
        • AddiDataGetDeviceStructFromDeviceName()
      • C COUNTER
        • AddiDataInitCounter()
        • AddiDataStartCounter()
        • AddiDataStopCounter()
        • AddiDataReadCounterValue()
        • AddiDataReadCounterStatus()
        • AddiDataEnableCounterInterrupt()
        • AddiDataDisableCounterInterrupt()
      • C DIGITAL INPUT/OUTPUT
        • AddiDataWriteSingleDigitalOutput()
        • AddiDataWriteAllDigitalOutputs()
        • AddiDataGetDigitalOutputsStatus()
        • AddiDataReadSingleDigitalInput()
        • AddiDataReadAllDigitalInputs()
        • AddiDataSetInterruptEventForInputs()
        • AddiDataSetInterruptEventForOneInput()
        • AddiDataSetInterruptLogicForPort()
        • AddiDataSetOutputMemory()
        • AddiDataEnableDigitalInterrupt()
        • AddiDataDisableDigitalInterrupt()
        • AddiDataSetDigitalOutputInterrupt()
        • AddiDataSetAllDigitalPortsDirection()
        • AddiDataGetAllDigitalPortDirections()
        • AddiDataReadAllDigitalInputsFromPort()
        • AddiDataWriteSingleDigitalOutputOnPort()
        • AddiDataWriteAllDigitalOutputsOnPort()
        • AddiDataGetDigitalOutputsStatusOnPort()
      • C INTERRUPT
        • AddiDataSetDeviceInterruptCallback()
        • AddiDataEnableDeviceInterrupts()
        • AddiDataDisableDeviceInterrupts()
        • AddiDataTestDeviceInterrupts()
        • AddiDataClearInterruptFifo()
      • C TIMER
        • AddiDataInitTimer()
        • AddiDataSetCustomTimerFrequency()
        • AddiDataStartTimer()
        • AddiDataStopTimer()
        • AddiDataReadTimerValue()
        • AddiDataReadTimerStatus()
        • AddiDataTriggerTimer()
        • AddiDataEnableTimerInterrupt()
        • AddiDataDisableTimerInterrupt()
      • C WATCHDOG
        • AddiDataInitWatchdog()
        • AddiDataStartWatchdog()
        • AddiDataStopWatchdog()
        • AddiDataReadWatchdogValue()
        • AddiDataReadWatchdogStatus()
        • AddiDataTriggerWatchdog()
        • AddiDataEnableWatchdogInterrupt()
        • AddiDataDisableWatchdogInterrupt()
    • Common API
      • COMMON GENERIC
        • ADDI_DATA_DISABLE
        • ADDI_DATA_ENABLE
        • ADDI_DATA_TCW_OPTIONS
          • COUNT_DIRECTION_DOWN
          • COUNT_DIRECTION_UP
          • SINGLE_CYCLE
          • EXTERNAL_TRIGGER
          • HARDWARE_GATE
          • COUNTER_FALLING_EDGE_COUNT
          • COUNTER_RISING_EDGE_COUNT
          • COUNTER_BOTH_EDGE_COUNT
        • ADDI_DATA_DEVICE_TYPE
          • PCI
          • PCIE
          • MSXE
        • DIGIO_COUNTER_TIMER_SOURCE
          • SIGNAL_INPUT
          • TRIGGER_INPUT
          • GATE_INPUT
        • PORT_DIRECTION
          • PORT_INPUT
          • PORT_OUTPUT
        • TIMEBASE_UNITS
          • MICROSECOND
          • MILLISECOND
          • SECOND
          • CUSTOM
      • COMMON INFORMATIONS STRUCTURE
        • DIGITAL_EVENT_TYPE
          • UNUSED
          • ON_ZERO
          • ON_ONE
          • FALLING_EDGE
          • RISING_EDGE
          • ANY_EDGE
        • DIGITAL_EVENT_LOGIC
          • OR
          • AND
        • TimerInformations
          • number_timers
          • max_reload_value
          • valid_options
          • min_reload_value
        • WatchdogInformations
          • number_watchdogs
          • max_reload_value
          • valid_options
          • min_reload_value
        • CounterInformations
          • number_counters
          • max_reload_value
          • valid_options
        • AddiDataFunctionInformations
          • digital
          • timer
          • watchdog
          • counter
        • AddiDataPCIBusInformations
          • vendor_id
          • device_id
          • number
          • device_number
          • bus_number
          • base_address_register
          • interrupt_number
          • is_pcie
        • AddiDataGeneralInformations
          • serial_number
          • product_name
          • firmware_version
          • library_version
          • driver_version
          • device_path
          • custom_id
          • device_type
        • AddiDataDeviceStruct
          • id
          • general
          • functions
          • bus
        • DigitalInformations
          • number_inputs
          • number_outputs
          • number_of_ports
          • interrupt_mask
        • InterruptData
          • interrupt_source
          • interrupt_mask
          • arg_count
          • args
      • COMMON ERROR CODES
        • ADDIDATA_FUNCTION_SHIFT
        • ADDIDATA_CODE
        • AddiDataSource
          • ADDIDATA_DRIVER
          • ADDIDATA_API
        • AddiDataDomain
          • ADDIDATA_DOMAIN_GENERIC
          • ADDIDATA_DOMAIN_COUNTER
          • ADDIDATA_DOMAIN_DIGIO
          • ADDIDATA_DOMAIN_TIMER
          • ADDIDATA_DOMAIN_WATCHDOG
          • ADDIDATA_DOMAIN_INTERRUPTS
          • ADDIDATA_DOMAIN_LINUX_IOCTL
          • ADDIDATA_DOMAIN_WIN_IOCTL
          • ADDIDATA_DOMAIN_DIG_EVENT
          • ADDIDATA_DOMAIN_PLUGIN
        • AddiDataFunction
          • ADDIDATA_FUNCTION_NONE
          • ADDIDATA_FUNCTION_READ
          • ADDIDATA_FUNCTION_INTERRUPT_CALLBACK
          • ADDIDATA_FUNCTION_IOCTL_CALL
          • ADDIDATA_FUNCTION_IOCTL_INIT
          • ADDIDATA_FUNCTION_ENABLE_INTERRUPT
          • ADDIDATA_FUNCTION_CREATE_INTERRUPT
          • ADDIDATA_FUNCTION_KILL_INTERRUPT
          • ADDIDATA_FUNCTION_EVENT_FD
          • ADDIDATA_FUNCTION_WAIT_INTERRUPT
          • ADDIDATA_FUNCTION_SELECT_EVENT
          • ADDIDATA_FUNCTION_CHECK_RELOAD_VALUE
          • ADDIDATA_FUNCTION_CHECK_TIMEBASE
          • ADDIDATA_FUNCTION_SET_DEVICE_HANDLE
          • ADDIDATA_FUNCTION_CALL
          • ADDIDATA_FUNCTION_HANDLE_RETURN
          • ADDIDATA_FUNCTION_CHANNEL_RANGE
          • ADDIDATA_FUNCTION_INFO
          • ADDIDATA_FUNCTION_INIT
          • ADDIDATA_FUNCTION_START
          • ADDIDATA_FUNCTION_TRIGGER
          • ADDIDATA_FUNCTION_CONVERT_FREQ
          • ADDIDATA_FUNCTION_STOP
          • ADDIDATA_FUNCTION_READ_VALUE
          • ADDIDATA_FUNCTION_READ_STATUS
          • ADDIDATA_FUNCTION_WRITE_DIGOUT
          • ADDIDATA_FUNCTION_INTERRUPT_EVENT
          • ADDIDATA_FUNCTION_INTERRUPT_LOGIC
          • ADDIDATA_FUNCTION_UPDATE_DIGITAL_INTERRUPT
          • ADDIDATA_FUNCTION_GET_DIGOUT_STATUS
          • ADDIDATA_FUNCTION_ENSURE_ID
          • ADDIDATA_FUNCTION_TEST
          • ADDIDATA_FUNCTION_ZILOG_INIT_EVENT
          • ADDIDATA_FUNCTION_INIT_DIGIT_INTERRUPT
          • ADDIDATA_FUNCTION_START_STOP_TCW
          • ADDIDATA_FUNCTION_SET_OUTPUT_MEMORY
          • ADDIDATA_FUNCTION_INIT_EVENT_LOGIC
          • ADDIDATA_FUNCTION_INIT_TCW_COMPATIBILITY
          • ADDIDATA_FUNCTION_API_GET_LAST_ERROR
          • ADDIDATA_FUNCTION_DISABLE_INTERRUPT
          • ADDIDATA_FUNCTION_GET_DEVICES
          • ADDIDATA_FUNCTION_GET_STRING
          • ADDIDATA_FUNCTION_GET_INSTANCE
          • ADDIDATA_FUNCTION_DIRECT_ACCESS
          • ADDIDATA_FUNCTION_OUTPUT_INTERRUPT
          • ADDIDATA_FUNCTION_GET_PORT_DIRECTION
          • ADDIDATA_FUNCTION_PORT_RANGE
        • AddiDataReason
          • ADDIDATA_REASON_NONE
          • ADDIDATA_REASON_NOT_INITIALIZED
          • ADDIDATA_REASON_ALREADY_INITIALIZED
          • ADDIDATA_REASON_INVALID_PARAMETER
          • ADDIDATA_REASON_OUT_OF_BOUNDS
          • ADDIDATA_REASON_NOT_SUPPORTED
          • ADDIDATA_REASON_OVERFLOW
          • ADDIDATA_REASON_UNDERFLOW
          • ADDIDATA_REASON_HARDWARE_FAILURE
          • ADDIDATA_REASON_INVALID_STATE
          • ADDIDATA_REASON_CONFIG_ERROR
          • ADDIDATA_REASON_INTERNAL_ERROR
          • ADDIDATA_REASON_UNKNOWN
          • ADDIDATA_REASON_INFO_UNAVAILABLE
          • ADDIDATA_REASON_INIT_FAILURE
          • ADDIDATA_REASON_INVALID_RETURN_VAL
          • ADDIDATA_REASON_INVALID_ID
          • ADDIDATA_REASON_INVALID_OPTION
          • ADDIDATA_REASON_INVALID_TIMEBASE
          • ADDIDATA_REASON_HANDLE_ERROR
        • AddiDataGetLastError()
        • AddiDataPrintLastError()
        • AddiDataTestError()
      • COMMON UTILITIES
        • Arg Parser
          • AddiDataArgParserAddOption()
          • AddiDataArgParserAddFlag()
          • AddiDataArgParserParse()
          • AddiDataArgParserIsFlagSet()
          • AddiDataArgParserIsOptionSet()
          • AddiDataArgParserGetOptionValue()
          • AddiDataArgParserClear()
        • User I/O
          • AddiDataUtilsPrintAvailableTcwOptions()
          • AddiDataUtilsGetTcwOptionsFromUser()
          • AddiDataUtilsPromptString()
          • AddiDataUtilsPromptInt()
          • AddiDataUtilsPromptHex()
          • AddiDataUtilsGetValidString()
          • AddiDataUtilsGetValidInt()
          • AddiDataUtilsGetValidHex()
          • AddiDataUtilsExitOnUserInput()
          • AddiDataUtilsDisplayAllPortsConfigurations()
        • Device
          • AddiDataUtilsMatchesCardFilter()
          • AddiDataUtilsSelectDeviceByCapability()
          • AddiDataUtilsSelectMode()
        • Timer Interruptions
          • AddiDataUtilsParseTimebase()
          • AddiDataUtilsInterruptCallback()
          • AddiDataUtilsResetInterruptFlag()
          • AddiDataUtilsHasInterruptHappened()
          • AddiDataUtilsGetValidTimebaseList()
        • Windows-Linux Compatibility
          • _kbhit()
    • C++ API
      • C++ DEVICE INTERFACE
        • setAllDigitalPortsDirections()
        • addidata::addipack::CounterInterface
          • initCounter()
          • startCounter()
          • stopCounter()
          • readCounterValue()
          • readCounterStatus()
          • enableCounterInterrupt()
          • disableCounterInterrupt()
        • addidata::addipack::Device
          • Device()
          • ~Device()
          • getDeviceInformation()
          • timer()
          • counter()
          • digitalIo()
          • digitalIoPorts()
          • watchdog()
          • interrupt()
        • addidata::addipack::DeviceDiscovery
          • getDevices()
          • getDeviceFromId()
        • addidata::addipack::DigitalIOInterface
          • readSingleDigitalInput()
          • readAllDigitalInput()
          • writeSingleDigitalOutput()
          • writeAllDigitalOutput()
          • getDigitalOutputStatus()
          • setInterruptEventForInputs()
          • setInterruptEventForOneInput()
          • setInterruptLogicForPort()
          • setOutputInterrupt()
          • enableDigitalInterrupt()
          • disableDigitalInterrupt()
          • setOutputMemoryOn()
          • setOutputMemoryOff()
        • addidata::addipack::DigitalIOPortsInterface
          • getAllDigitalPortDirections()
          • readAllDigitalInputsFromPort()
          • writeSingleDigitalOutputOnPort()
          • writeAllDigitalOutputsOnPort()
          • getDigitalOutputsStatusOnPort()
          • enableDigitalInterrupt()
          • disableDigitalInterrupt()
          • setOutputMemoryOn()
          • setOutputMemoryOff()
        • addidata::addipack::InterruptInterface
          • ~InterruptInterface()
          • setDeviceInterruptCallback()
          • enableDeviceInterrupts()
          • disableDeviceInterrupts()
          • clearInterruptFifo()
          • isInterruptActive()
        • addidata::addipack::TimerInterface
          • ~TimerInterface()
          • initTimer()
          • setCustomTimerFrequency()
          • startTimer()
          • stopTimer()
          • readTimerValue()
          • readTimerStatus()
          • triggerTimer()
          • enableTimerInterrupt()
          • disableTimerInterrupt()
        • addidata::addipack::WatchdogInterface
          • initWatchdog()
          • startWatchdog()
          • stopWatchdog()
          • readWatchdogValue()
          • readWatchdogStatus()
          • triggerWatchdog()
          • enableWatchdogInterrupt()
          • disableWatchdogInterrupt()
      • C++ ERROR CODES
        • AddiPackException
          • AddiPackException()
          • AddiPackException()
          • what()
          • getCode()
          • getSource()
          • getDomain()
          • getFunction()
          • getReason()
          • setMessage()
          • setErrorCode()
          • getAddiDataLastError()
      • C++ UTILS
        • addidata::addipack::ArgParser
          • ArgParser()
          • init()
          • clear()
          • addOption()
          • addFlag()
          • parse()
          • isFlagSet()
          • isOptionSet()
          • getOptionValue()
        • User I/O
          • printAvailableOptions()
          • getTcwOptionsFromUser()
          • promptString()
          • promptInt()
          • getValidString()
          • getValidInt()
          • exitOnUserInput()
          • displayAllPortsConfigurations()
        • Device
          • selectDeviceByCapability()
          • selectMode()
          • getValidTimebaseList()
        • Timer Interruptions
          • parseTimebase()
          • interruptCallback()
          • resetInterruptFlag()
          • hasInterruptHappened()
  • Help & Informations
    • Maintenance Information
      • Maintenance & Update Guide
        • Updating Addi‑Pack
          • Linux
      • Windows
        • Environment Variable
        • Uninstalling Addi‑Pack
        • Locating Log Files
        • Backward Compatibility
      • Troubleshooting & Common Issues
        • Changelog
      • Contact & Support
  • License & Legal Notice
    • BSD 3-Clause License
AddiPack Documentation
  • Help & Informations
  • View page source

Help & Informations

All help and informations you needed if you encounter any issue with addipack

Contents:

  • Maintenance Information
    • Maintenance & Update Guide
      • Updating Addi‑Pack
    • Windows
      • Environment Variable
      • Uninstalling Addi‑Pack
      • Locating Log Files
      • Backward Compatibility
    • Troubleshooting & Common Issues
      • Changelog
    • Contact & Support
Previous Next

© Copyright 2025, Addi-Data GmbH.

Built with Sphinx using a theme provided by Read the Docs.