Cat
Python.cpp
Go to the documentation of this file.
1 #include <vector>
2 #include <list>
3 
4 #include "Element.h"
5 
6 #include "Interface.h"
7 
8 #include "SpecsInterface.h"
9 #include "SpecsParallelBus.h"
10 #include "SpecsI2c.h"
11 #include "SpecsBus.h"
12 
13 #include "SpecsMaster.h"
14 #include "SpecsSlave.h"
15 
16 #include <boost/python.hpp>
17 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
18 
19 using namespace boost::python;
20 
21 BOOST_PYTHON_MODULE(libCatSpecs)
22 {
23  class_<SpecsMaster, bases <Element> >("SpecsMaster")
24  .def("setPciDevID",&SpecsMaster::setPciDevID)
25  .def("pciDevID", &SpecsMaster::pciDevID)
26  .def("setMasterDevID",&SpecsMaster::setMasterDevID)
27  .def("masterDevID",&SpecsMaster::masterDevID)
28  .def("setSpeed",&SpecsMaster::setSpeed)
29  .def("speed",&SpecsMaster::speed)
30  .def("help",&SpecsMaster::help)
31  .def("init",&SpecsMaster::init)
32  .def("reset",&SpecsMaster::reset)
33  .def("update",&SpecsMaster::update)
34  ;
35 
36  class_<SpecsInterface, bases <Interface> >("SpecsInterface")
37  .def("help", &SpecsInterface::help)
38  .def("init", &SpecsInterface::init)
39  .def("reset", &SpecsInterface::reset)
40  .def("update",&SpecsInterface::update)
41  .def("setAddress",&SpecsInterface::setAddress)
42  .def("address", &SpecsInterface::address)
43  .def("setOutputSelect",&SpecsInterface::setOutputSelect)
44  .def("outputSelect", &SpecsInterface::outputSelect)
45  .def("specsMaster", &SpecsInterface::specsMaster,
46  return_value_policy<reference_existing_object>())
47  .def("specsSlave", &SpecsInterface::specsSlave
48  ,return_value_policy<reference_existing_object>())
49  ;
50 
51  // class_<SpecsParallelBus, bases <SpecsInterface> >("SpecsParallelBus")
52  // ;
53 
54  // class_<SpecsI2c, bases <SpecsInterface> >("SpecsI2c")
55  // ;
56 
57  class_<SpecsSlave, bases <SpecsInterface> >("SpecsSlave")
58  .def("setAddress",&SpecsSlave::setAddress)
59  .def("addI2c",&SpecsSlave::addI2c)
60  .def("detect",&SpecsSlave::detect)
61  .def("init",&SpecsSlave::init)
62  .def("resetInternal",&SpecsSlave::resetInternal)
63  ;
64 }
65 
virtual SpecsMaster * specsMaster()
virtual void update()
unsigned char masterDevID()
Definition: SpecsMaster.h:42
unsigned char address()
void resetInternal()
Definition: SpecsSlave.cpp:184
StatusCode init()
Definition: SpecsMaster.cpp:69
void setSpeed(unsigned char)
BOOST_PYTHON_MODULE(libCatBcn)
Definition: Python.cpp:24
virtual StatusCode init()
unsigned char speed()
Definition: SpecsMaster.h:64
void setMasterDevID(unsigned char masterDevID)
Definition: SpecsMaster.h:38
virtual SpecsSlave * specsSlave()
void setAddress(unsigned char)
Definition: SpecsSlave.cpp:50
void setPciDevID(unsigned char pciDevID)
Definition: SpecsMaster.h:30
virtual void reset()
unsigned char outputSelect()
StatusCode init()
Definition: SpecsSlave.cpp:69
virtual void help()
void addI2c(Hierarchy *)
Definition: SpecsSlave.cpp:175
void setOutputSelect(unsigned char)
void update()
Definition: SpecsMaster.h:66
void setAddress(unsigned char)
unsigned char pciDevID()
Definition: SpecsMaster.h:34
bool detect()
Definition: SpecsSlave.cpp:119