PinFunction (ENUM) ¶ TYPE PinFunction : Attributes: qualified_only InOut: Name Initial Comment PF_DI 0 PF_DO 1 PF_PWMI 2 PF_PWMO 3 PF_AI 4 PF_MAX PF_AI, PF_AO,…
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 25.10.2023, 14:02:28 companyName string 3S-Smart Software Solutions GmbH libraryFile IoDrvGPIOBBB.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile IoDrvGPIOBBB.clean.json version version 2.0.0.0 ProjectInformation IsEndUserLibrary bool False Released True LastModificationDateTime date 25.10.2023, 14:02:26 LibraryCategories library-category-list Intern|IoDrivers Author string CODESYS Development GmbH Company CODESYS CompiledLibraryCompatibilityVersion CODESYS V3.5 SP16 DefaultNamespace IoDrvGPIOBBB Description See: Description DocFormat reStructuredText LanguageModelAttribute qualified-access-only Placeholder IoDrvGPIOBBB Project IoDrvGPIOBBB Title IoDrvGPIOBBB Version version 4.10.0.0
Library Reference ¶ This is a dictionary of all referenced libraries and their name spaces. CmpErrors2 Interfaces ¶ Library Identification ¶ Name: CmpErrors2 Interfaces Version: newest Company: System Namespace: CmpErrors Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpErrors2 Interfaces, * (System) CmpLog ¶ Library Identification ¶ Placeholder: CmpLog Default Resolution: CmpLog, * (System) Namespace: CmpLog Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: CmpLog IoDriver Interfaces ¶ Library Identification ¶ Name: IoDriver Interfaces Version: newest Company: System Namespace: IoDriver_Interfaces Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoDriver Interfaces, * (System) IoDriver Parameter Interfaces ¶ Library Identification ¶ Name: IoDriver Parameter Interfaces Version: newest Company: System Namespace: IIoDrvParameter Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoDriver Parameter Interfaces, * (System) IoDrvBase ¶ Library Identification ¶ Placeholder: IoDrvBase Default Resolution: IoDrvBase, * (System) Namespace: IoDrvBase Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoDrvBase IoStandard ¶ Library Identification ¶ Placeholder: IoStandard Default Resolution: IoStandard, * (System) Namespace: IoStandard Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: IoStandard Standard ¶ Library Identification ¶ Placeholder: Standard Default Resolution: Standard, * (System) Namespace: Standard Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: Standard SysMem23 ¶ Library Identification ¶ Placeholder: SysMem Default Resolution: SysMem23, * (System) Namespace: SysMem Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysMem SysShm ¶ Library Identification ¶ Placeholder: SysShm Default Resolution: SysShm, * (System) Namespace: SysShm Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysShm SysTime ¶ Library Identification ¶ Placeholder: SysTime Default Resolution: SysTime, * (System) Namespace: SysTime Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTime SysTypes2 Interfaces ¶ Library Identification ¶ Name: SysTypes2 Interfaces Version: newest Company: System Namespace: SysTypes Library Properties ¶ LinkAllContent: False Optional: False QualifiedOnly: False SystemLibrary: False Key: SysTypes2 Interfaces, * (System)
IoDrvGPIOSysfs Library Documentation ¶ Company 3S - Smart Software Solutions GmbH Title IoDrvGPIOSysfs Version 3.5.17.0 Categories Intern|IoDrivers Namespace GPIOSysfs Author 3S - Smart Software Solutions GmbH Placeholder IoDrvGPIOSysfs Description 1 ¶ GPIO driver based on Sysfs Contents: ¶ Functions active_low (Function) direction (Function) export (Function) readBit (Function) unexport (Function) writeBit (Function) GPIOSysfs (FunctionBlock) GPIOSysfsDiag (FunctionBlock) IDevice INode GVL (GVL) IoDrvGpioSysfs (FunctionBlock) ICmpIoDrv IoDrvGpioSysfsDiag (FunctionBlock) IDevice INode Library Information GetLibVersion (Function) GetLibVersionNumber (Function) IsLibReleased (Function) Structs DUT_GPIOPin (Struct) Indices and tables ¶ 1 Based on IoDrvGPIOSysfs.library, last modified 20.04.2021, 15:00:03. LibDoc 4.4.0.0-b.27 The content file IoDrvGPIOSysfs.clean.json was generated with CODESYS V3.5 SP16 Patch 3 on 20.04.2021, 15:00:03.
IoDrvGPIOBBB.ConfigurePinDO (METH) ¶ METHOD ConfigurePinDO : BOOL InOut: Scope Name Type Return ConfigurePinDO BOOL Input dwPinNr DWORD
IoDrvGPIOBBB.IsChannelEnabled (METH) ¶ METHOD IsChannelEnabled : BOOL InOut: Scope Name Type Return IsChannelEnabled BOOL Input dwChannel DWORD eFunction PinFunction
IoDrvGPIOBBB.ReadPin (METH) ¶ METHOD ReadPin : BOOL InOut: Scope Name Type Return ReadPin BOOL Input dwParameterID DWORD
IoDrvGPIOBase (FB) ¶ FUNCTION_BLOCK IoDrvGPIOBase EXTENDS IoDrvBase IMPLEMENTS ICmpIoDrvParameter This is a rather generic FB, which is able to handle the I/Os on linux based systems. It is not fully generic, that’s why it not resides in an own library. Still the configuration of the I/O pins for the different functions needs to be implemented in a specialized FB. Every single pin is configured with the functions: ConfigurePinDI (pin number) ConfigurePinDO (pin number) The configuration is done based on enums where the Parameter ID corresponds to the pin number. One special paramter (10.000) defines the total number of pins. All registers are mapped into our address space. As we are running on linux, where we have a virtual address space, the addresses need to be converted. This allocation and convertion is done in this base driver: UpdateConfiguration manages the regions, which are defined in g_aMemRegions[] SetRegister* / SetBit* / Phys2Virt are using those regions To exchange the I/Os, the physical address for the exchange is specified in the driverSpecific value in the device description for each parameter. Those addresses are converted to their virtual counterparts in UpdateConfiguration. Furthermore, UpdateConfiguration takes care about not configured I/Os. All I/O channels which are not configured are getting a driver specific value in the device description. This is then the physical address, which is converted by UpdateConfiguration to the virtual addresses, so that ReadInputs() and WriteOutputs() can copy the data easily with the standard IoMgrCopyInputs()/-CopyOutputs() functions. Methods: ConfigurePinAI ConfigurePinDI ConfigurePinDO GetRegisterOffset IoDrvGetConnector IoDrvGetModuleDiagnosis IoDrvReadParameter IoDrvWriteParameter IsChannelEnabled Phys2Virt QueryInterface ReadPin SetBitOffset SetRegisterOffset SetRegisterPointer WritePin Structure: IBase QueryInterface (Method) ICmpIoDrv IoDrvGetModuleDiagnosis (Method) ICmpIoDrvConfig IoDrvGetConnector (Method) ICmpIoDrvParameter IoDrvReadParameter (Method) IoDrvWriteParameter (Method) PinConfiguration ConfigurePinAI (Method) ConfigurePinDI (Method) ConfigurePinDO (Method) GetRegisterOffset (Method) IsChannelEnabled (Method) Phys2Virt (Method) ReadPin (Method) SetBitOffset (Method) SetRegisterOffset (Method) SetRegisterPointer (Method) WritePin (Method)
IBase ¶ QueryInterface (Method)
IoDrvGPIOBase.QueryInterface (METH) ¶ METHOD QueryInterface : POINTER TO POINTER TO BYTE InOut: Scope Name Type Comment Return QueryInterface POINTER TO POINTER TO BYTE Input iid DWORD InterfaceID pResult POINTER TO UDINT