Giter VIP home page Giter VIP logo

pyokfrontpanel's Introduction

pyOKFrontPanel

Python CFFI wrapper for the Opal Kelly FrontPanel FPGA interface.

Prerequisites

To use this module, you need to have the Opal Kelly FrontPanel C interface installed correctly so your C compiler can find the okFrontPanel shared library and the okFrontPanelDLL.h header.

You have to sign up at OpalKelly to be able to download okFrontPanel.

Windows

Get Opal Kelly FrontPanel, at least v4.5.6 and install it.

Get the Visual C compiler and install it.

pyOKFrontPanel should find your FrontPanel installation from the OKFP_SDK environment variable.

Linux

FrontPanel for Linux is typically installed in /usr/local/, so make sure that your C compiler can find header files in /usr/local/include and that your linker can find dynamic libraries in /usr/local/lib.

Also make sure that you have installed the header files for the Python version that you are trying to use the FrontPanel with (in Debian-based distributions, this package is called python#.#-dev).

Installation via pip

If the prerequisites are fulfilled for either Windows or Linux based systems, then you can install the OpalKelly Python Wrapper via

pip install pyOKFrontPanel

which will trigger the compilation of OpalKelly Wrapper together with the header file (okFrontPanelDLL.h) of the front panel by using the mentioned C compiler above.

Header location

Sometimes clang is unable to find the header file (okFrontPanelDLL.h), in that case set the following environment variables:

export LDFLAGS=-L<path to lib>
export CPPFLAGS=-I<path to include>

For example:

export LDFLAGS=-L/usr/local/lib
export CPPFLAGS=-I/usr/local/include

Then run pip again.

API status

PLL22150

Function
SetCrystalLoad
SetReference
GetReference
SetVCOParameters
GetVCOP
GetVCOQ
GetVCOFrequency
SetDiv1
SetDiv2
GetDiv1Source
GetDiv2Source
GetDiv1Divider
GetDiv2Divider
SetOutputSource
SetOutputEnable
GetOutputSource
GetOutputFrequency
IsOutputEnabled
InitFromProgrammingInfo
GetProgrammingInfo

PLL22393

Function
SetCrystalLoad
SetReference
GetReference
SetPLLParameters
SetPLLLF
SetOutputDivider
SetOutputSource
SetOutputEnable
GetPLLP
GetPLLQ
GetPLLFrequency
GetOutputDivider
GetOutputSource
GetOutputFrequency
IsOutputEnabled
IsPLLEnabled
InitFromProgrammingInfo
GetProgrammingInfo

DeviceSettings

Function
GetString
GetInt
SetString
SetInt
Delete
Save

DeviceSensors

Function
GetSensorCount
GetSensor

Firmware

Function
PerformTasks

FirmawarePackage

Function
GetFirmwareCount
GetFirmware

FrontPanelManager

Function
StartMonitoring
Open

FrontPanelDevices

Function
GetCount
GetSerial
Open

FrontPanel

Function status
GetErrorString probably works
AddCustomDevice
RemoveCustomDevice
WriteI2C
ReadI2C
FlashEraseSector
FlashWrite
FlashRead
GetFPGAResetProfile
SetFPGAResetProfile
ReadRegister
ReadRegisters
WriteRegister
WriteRegisters
GetHostInterfaceWidth
IsHighSpeed works
GetBoardModel works
GetBoardModelString works
GetDeviceCount works
GetDeviceListModel works
GetDeviceListSerial works
OpenBySerial works
IsOpen works
EnableAsynchronousTransfers
SetBTPipePollingInterval
SetTimeout
GetDeviceMajorVersion
GetDeviceMinorVersion
ResetFPGA
Close
GetSerialNumber works
GetDeviceSensors
GetDeviceSettings
GetDeviceInfo
GetDeviceID
SetDeviceID
ConfigureFPGA works
ConfigureFPGAWithReset
ConfigureFPGAFromMemory
ConfigureFPGAFromMemoryWithReset
ConfigureFPGAFromFlash
GetPLL22150Configuration
SetPLL22150Configuration
GetEepromPLL22150Configuration
SetEepromPLL22150Configuration
GetPLL22393Configuration
SetPLL22393Configuration
GetEepromPLL22393Configuration
SetEepromPLL22393Configuration
LoadDefaultPLLConfiguration
IsFrontPanelEnabled works
IsFrontPanel3Supported works probably
UpdateWireIns works
GetWireInValue
SetWireInValue works
UpdateWireOuts works
GetWireOutValue works
ActivateTriggerIn works
UpdateTriggerOuts
IsTriggered
GetLastTransferLength
WriteToPipeIn
ReadFromPipeOut
WriteToBlockPipeIn works
ReadFromBlockPipeOut works

pyokfrontpanel's People

Contributors

drogenlied avatar ajongbloets avatar neverhorst avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.