Package: axiom-tc
aXiom python libraryThis library provides users the building blocks to communicate with the aXiom touch controllers. By linking these building blocks together, more complex functions can be achieved, such as loading firmware, loading configuration files or building a production test process.File Overviewaxiom.py- Provides the main business logic and interface to aXiom.I2C_Comms.py- Provides the logic for performing I2C comms to aXiom.SPI_Comms.py- Provides the logic for performing SPI comms to aXiom.USB_Comms.py- Provides the logic for performing USB comms to aXiom.CDU_Common.py- Some usages are CDU (command driven usages). These usages some some additional logic to read/write their contents.u02_SystemManager.py- Provides access to aXiom's system manager. The aXiom device can be reset, jump to bootloader, save config changes to flash etc.u06_SelfTest.py- Provides access to configure and control the self test settings in aXiom.u07_LiveView.py- Provides access to read live data from aXiom. For instance GPIO status, acquisition status and self test status.u32_DeviceCapabilities.py- Reports the capabilities of the aXiom device. For instance, the number CTS nodes, which comms interfaces are supported etc.u33_CRCData.py- Provides access to the CRCs within aXiom.u48_GPIOControls.py- Provides access to the GPIO controls for aXiom.uXX_Template.py- Template file to use when creating more python files for specific usages.PrerequisitesRequires Python 3.8 to be installed and accessible on the Path variable.axiom_tc PackageThis is the aXiom touch controller python package that provides access to core functionality and communication to the aXiom device. In conjunction with theaxiom_tcpackage, the appropriate interface packages are expected to be available. These are described after this section.Requiresaxiom_tcto be installed and accessible to your Python interpreter.pip install axiom_tcSPI InterfaceRequiresspidevto be installed and accessible to your Python interpreter.pip install spidevSeespidevfor more information.I2C InterfaceRequiressmbus2to be installed and accessible to your Python interpreter.pip install smbus2Seesmbus2for more information.USB InterfaceRequireshidto be installed and accessible to your Python interpreter.pip install hid==1.0.4Seehidfor more information.LinuxUsing thehidpackage will access the TouchNetix protocol bridges via the/dev/hidrawXinterface. This typically requires root access. This means the scripts will need to be run assudo. Alternatively,udevcan be used to give all users permissions to thehidrawdevices.Create the followingudevrules file/etc/udev/rules.d/99-axiom-hidraw-permissions.rules:SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6f02", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2f04", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2f08", MODE="0666"

SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="6f02", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2f04", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2f08", MODE="0666"

SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="6f02", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="2f04", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="2f08", MODE="0666"The changes will apply on the next bootup. To apply the changes immediately:sudo udevadm control --reload-rulessudo udevadm triggerIf this error message is observed:ImportError: Unable to load any of the following libraries:libhidapi-hidraw.so libhidapi-hidraw.so.0 libhidapi-libusb.so libhidapi-libusb.so.0 libhidapi-iohidmanager.so libhidapi-iohidmanager.so.0 libhidapi.dylib hidapi.dll libhidapi-0.dllRun the following to install thehidapilibrary.sudo apt-get install libhidapi-hidraw0 libhidapi-libusb0WindowsWindows requires thehidapi.dllfiles to reside in the same directory as python (see more infohere)
The.dllfiles can be foundhereLicenseThis project is licensed under the MIT License. See theLICENSEfile for details.