Commit 2c217ba2 authored by Federico Vaga's avatar Federico Vaga

py: move ADC 100M class in the PyAdcLib module

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent db125280
......@@ -260,7 +260,7 @@ libadc = libadc_create()
def adc_strerror(err):
return libadc.adc_strerror(err)
class ADC_Generic():
class PyAdcAbstract():
ADC_F_USERMASK = 0xffff0000
ADC_F_FLUSH = 0x00010000
ADC_F_VERBOSE = 0x00020000
......@@ -339,3 +339,30 @@ class ADC_Generic():
def set_param(self, name, sptr, iptr):
libadc.adc_set_param(self.tkn, name, sptr, iptr)
class PyFmcAdc100m14b4ch(PyAdcAbstract):
BOARD_NAME = "fmc-adc-100m14b4cha"
ADC_CONF_100M14B4CHA_CHN_RANGE_N = 3
ADC_CONF_100M14B4CHA_CHN_RANGE_OPEN_DRAIN = 0
ADC_CONF_100M14B4CHA_CHN_RANGE_100mV = 0x23
ADC_CONF_100M14B4CHA_CHN_RANGE_1V = 0x11
ADC_CONF_100M14B4CHA_CHN_RANGE_10V = 0x45
ADC_CONF_100M14B4CHA_CHN_RANGE_100mV_CAL = 0x42
ADC_CONF_100M14B4CHA_CHN_RANGE_1V_CAL = 0x40
ADC_CONF_100M14B4CHA_CHN_RANGE_10V_CAL = 0x44
ADC_CONF_100M14B4CHA_BUF_KMALLOC = 0
ADC_CONF_100M14B4CHA_BUF_VMALLOC = 1
ADC_CONF_100M14B4CHA_BUF_TYPE = 0
ADC_CONF_100M14B4CHA_TRG_SW_EN = 1
ADC_CONF_100M14B4CHA_ACQ_MSHOT_MAX = 2
ADC_CONF_100M14B4CHA_BUF_SIZE_KB = 3
ADC_CONF_100M14B4CHA_TRG_ALT_EN = 4
__ADC_CONF_100M14B4CHA_LAST_INDEX = 5
def __init__(self, devid):
super(PyFmcAdc100m14b4ch, self).__init__(devid)
from .PyAdcLib import ADC_Generic
class FmcAdc100m14b4ch(ADC_Generic):
BOARD_NAME = "fmc-adc-100m14b4cha"
ADC_CONF_100M14B4CHA_CHN_RANGE_N = 3
ADC_CONF_100M14B4CHA_CHN_RANGE_OPEN_DRAIN = 0
ADC_CONF_100M14B4CHA_CHN_RANGE_100mV = 0x23
ADC_CONF_100M14B4CHA_CHN_RANGE_1V = 0x11
ADC_CONF_100M14B4CHA_CHN_RANGE_10V = 0x45
ADC_CONF_100M14B4CHA_CHN_RANGE_100mV_CAL = 0x42
ADC_CONF_100M14B4CHA_CHN_RANGE_1V_CAL = 0x40
ADC_CONF_100M14B4CHA_CHN_RANGE_10V_CAL = 0x44
ADC_CONF_100M14B4CHA_BUF_KMALLOC = 0
ADC_CONF_100M14B4CHA_BUF_VMALLOC = 1
ADC_CONF_100M14B4CHA_BUF_TYPE = 0
ADC_CONF_100M14B4CHA_TRG_SW_EN = 1
ADC_CONF_100M14B4CHA_ACQ_MSHOT_MAX = 2
ADC_CONF_100M14B4CHA_BUF_SIZE_KB = 3
ADC_CONF_100M14B4CHA_TRG_ALT_EN = 4
__ADC_CONF_100M14B4CHA_LAST_INDEX = 5
def __init__(self, devid):
super(FmcAdc100m14b4ch, self).__init__(devid)
......@@ -7,8 +7,10 @@
SPDX-License-Identifier: LGPL-3.0-or-later
"""
from .PyAdcLib import PyAdcConf
from .PyAdcLib import PyAdcConf, PyAdcAbstract, PyFmcAdc100m14b4ch
__all__ = (
"PyAdcConf",
"PyAdcAbstract",
"PyFmcAdc100m14b4ch",
)
......@@ -5,15 +5,14 @@ SPDX-FileCopyrightText: 2020 CERN
import pytest
from PyAdcLib import *
from PyAdcLib.PyAdcLibFmcAdc100m14b4ch import *
@pytest.fixture(scope="function")
def adc100m14b4cha():
adc = FmcAdc100m14b4ch(pytest.adc_id)
adc = PyFmcAdc100m14b4ch(pytest.adc_id)
yield adc
def pytest_addoption(parser):
parser.addoption("--type", choices=[FmcAdc100m14b4ch.BOARD_NAME],
parser.addoption("--type", choices=[PyFmcAdc100m14b4ch.BOARD_NAME],
required=True, help="Fmc ADC type")
parser.addoption("--id", type=lambda x : int(x, 16),
required=True, help="Fmc ADC Identifier")
......
......@@ -6,7 +6,7 @@ SPDX-FileCopyrightText: 2020 CERN
import pytest
import ctypes
import random
from PyAdcLib import PyAdcConf
from PyAdcLib import PyAdcConf, PyFmcAdc100m14b4ch
class TestAdcGetterSetter(object):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment