Cat
Classes | Functions
Python.cpp File Reference
#include <vector>
#include <list>
#include "IOobject.h"
#include "IOdata.h"
#include "Interface.h"
#include "RAM.h"
#include "Register.h"
#include "UsbI2cBus.h"
#include "UsbSpiBus.h"
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>

Go to the source code of this file.

Classes

struct  InterfaceWrap
 

Functions

 BOOST_PYTHON_MODULE (libCatCore)
 

Function Documentation

◆ BOOST_PYTHON_MODULE()

BOOST_PYTHON_MODULE ( libCatCore  )

Definition at line 27 of file Python.cpp.

References IOdata::address(), IOobject::address(), UsbSpiBus::aSS(), IOdata::block(), IOdata::bus(), UsbSpiBus::clockDivider(), IOdata::dataU16(), IOdata::dataU32(), IOdata::dataU8(), IOdata::defDataU16(), IOdata::defDataU32(), IOdata::defDataU8(), IOobject::dump(), IOdata::dump(), Register::getBit(), IOdata::header(), Interface::help(), UsbI2cBus::help(), UsbSpiBus::help(), IOobject::help(), Interface::init(), UsbI2cBus::init(), UsbSpiBus::init(), IOobject::init(), IOobject::io(), IOdata::length(), UsbSpiBus::lSBFirst(), IOdata::mode(), IOdata::outputSelect(), RAM::raz(), Interface::read(), IOobject::read(), UsbI2cBus::regAddress(), UsbSpiBus::regClockDivider(), UsbSpiBus::regCtrl(), UsbI2cBus::regData(), UsbSpiBus::regRxData(), UsbSpiBus::regSlaveSelect(), UsbSpiBus::regTxData(), IOobject::reset(), Interface::reset(), UsbI2cBus::reset(), UsbSpiBus::reset(), UsbSpiBus::rxNeg(), IOdata::setAddress(), IOobject::setAddress(), UsbSpiBus::setASS(), Register::setBit(), IOdata::setBlock(), IOdata::setBus(), UsbSpiBus::setClockDivider(), IOdata::setHeader(), IOdata::setLength(), UsbSpiBus::setLSBFirst(), IOdata::setMode(), IOdata::setOutputSelect(), UsbSpiBus::setRxNeg(), RAM::setSize(), IOdata::setSubAddress(), UsbSpiBus::setTxNeg(), IOdata::setU16(), IOdata::setU32(), IOdata::setU8(), IOdata::setWordSize(), IOdata::subAddress(), UsbSpiBus::txNeg(), Interface::update(), IOobject::update(), UsbI2cBus::update(), UsbSpiBus::update(), IOdata::wordSize(), Interface::write(), and IOobject::write().

28 {
29  class_< std::vector<unsigned long> >("ULongVec")
30  .def(vector_indexing_suite< std::vector<unsigned long> >())
31  ;
32 
33  class_<InterfaceWrap, boost::noncopyable, bases<Element> >("Interface")
34  .def("help",pure_virtual(&Interface::help))
35  .def("init",pure_virtual(&Interface::init))
36  .def("reset",pure_virtual(&Interface::reset))
37  .def("update",pure_virtual(&Interface::update))
38  .def("read",pure_virtual(&Interface::read))
39  .def("write",pure_virtual(&Interface::write))
40  ;
41 
42  class_<UsbI2cBus, bases<Interface> >("UsbI2cBus")
43  .def("help" ,&UsbI2cBus::help)
44  .def("init" ,&UsbI2cBus::init)
45  .def("reset" ,&UsbI2cBus::reset)
46  .def("update" ,&UsbI2cBus::update)
47  .def("regData" ,&UsbI2cBus::regData,return_value_policy<reference_existing_object>())
48  .def("regAddress",&UsbI2cBus::regAddress,return_value_policy<reference_existing_object>())
49  ;
50 
51  class_<UsbSpiBus, bases<Interface> >("UsbSpiBus")
52  .def("help" ,&UsbSpiBus::help)
53  .def("init" ,&UsbSpiBus::init)
54  .def("reset" ,&UsbSpiBus::reset)
55  .def("update" ,&UsbSpiBus::update)
56  .def("setTxNeg" ,&UsbSpiBus::setTxNeg)
57  .def("txNeg" ,&UsbSpiBus::txNeg)
58  .def("setRxNeg" ,&UsbSpiBus::setRxNeg)
59  .def("rxNeg" ,&UsbSpiBus::rxNeg)
60  .def("setASS" ,&UsbSpiBus::setASS)
61  .def("aSS" ,&UsbSpiBus::aSS)
62  .def("setLSBFirst" ,&UsbSpiBus::setLSBFirst)
63  .def("lSBFirst" ,&UsbSpiBus::lSBFirst)
64  .def("setClockDivider",&UsbSpiBus::setClockDivider)
65  .def("clockDivider" ,&UsbSpiBus::clockDivider)
66  .def("regCtrl" ,&UsbSpiBus::regCtrl,return_value_policy<reference_existing_object>())
67  .def("regClockDivider",&UsbSpiBus::regClockDivider,return_value_policy<reference_existing_object>())
68  .def("regSlaveSelect",&UsbSpiBus::regSlaveSelect,return_value_policy<reference_existing_object>())
69  .def("regRxData" ,&UsbSpiBus::regRxData,return_value_policy<reference_existing_object>())
70  .def("regTxData" ,&UsbSpiBus::regTxData,return_value_policy<reference_existing_object>())
71  ;
72 
73  unsigned long int (IOdata::*dataU8x) (unsigned long int) = (&IOdata::dataU8);
74  unsigned long int (IOdata::*dataU16x)(unsigned long int) = (&IOdata::dataU16);
75  unsigned long int (IOdata::*dataU32x)(unsigned long int) = (&IOdata::dataU32);
76 
77  class_<IOdata, bases<Object> >("IOdata")
78  .def("setAddress" ,&IOdata::setAddress)
79  .def("setHeader" ,&IOdata::setHeader)
80  .def("setSubAddress" ,&IOdata::setSubAddress)
81  .def("setOutputSelect" ,&IOdata::setOutputSelect)
82  .def("setMode" ,&IOdata::setMode)
83  .def("setWordSize" ,&IOdata::setWordSize)
84  .def("setLength" ,&IOdata::setLength)
85  .def("setBlock" ,&IOdata::setBlock)
86  .def("setBus" ,&IOdata::setBus)
87  .def("address" ,&IOdata::address)
88  .def("header" ,&IOdata::header)
89  .def("subAddress" ,&IOdata::subAddress)
90  .def("outputSelect" ,&IOdata::outputSelect)
91  .def("mode" ,&IOdata::mode)
92  .def("wordSize" ,&IOdata::wordSize)
93  .def("length" ,&IOdata::length)
94  .def("block" ,&IOdata::block)
95  .def("bus" ,&IOdata::bus)
96  .def("dump" ,&IOdata::dump)
97  .def("defU8" ,&IOdata::defDataU8)
98  .def("detU16" ,&IOdata::defDataU16)
99  .def("detU32" ,&IOdata::defDataU32)
100  .def("setU8" ,&IOdata::setU8)
101  .def("setU16" ,&IOdata::setU16)
102  .def("setU32" ,&IOdata::setU32)
103  .def("dataU8" ,dataU8x)
104  .def("dataU16" ,dataU16x)
105  .def("dataU32" ,dataU32x)
106  ;
107 
108  class_<IOobject, bases <Element> >("IOobject")
109  .def("help", &IOobject::help)
110  .def("init", &IOobject::init)
111  .def("reset", &IOobject::reset)
112  .def("update",&IOobject::update)
113  .def("setAddress",&IOobject::setAddress)
114  .def("address" ,&IOobject::address)
115  .def("io", &IOobject::io,return_value_policy<reference_existing_object>())
116  .def("read", &IOobject::read)
117  .def("write", &IOobject::write)
118  .def("dump" , &IOobject::dump)
119  ;
120 
121  class_<Register, bases <IOobject> >("Register")
122  .def("setBit", &Register::setBit)
123  .def("getBit", &Register::getBit)
124  ;
125 
126  class_<RAM, bases <IOobject> >("RAM")
127  .def("setSize", &RAM::setSize)
128  .def("raz", &RAM::raz)
129  ;
130  ;
131 
132 }
Register * regAddress()
Definition: UsbI2cBus.h:54
void help()
Definition: IOobject.h:31
U32 outputSelect()
Definition: IOdata.h:104
bool getBit(unsigned int)
Definition: Register.cpp:66
void defDataU32(unsigned long size)
Definition: IOdata.h:193
virtual void update()=0
U32 address()
Definition: IOdata.h:59
void setTxNeg(bool txNeg)
Definition: UsbSpiBus.h:57
Register * regClockDivider()
Definition: UsbSpiBus.h:88
void setRxNeg(bool rxNeg)
Definition: UsbSpiBus.h:61
virtual StatusCode read(IOdata *)=0
StatusCode setSize(unsigned int, unsigned int)
Definition: RAM.cpp:29
U32 header()
Definition: IOdata.h:74
void update()
Definition: IOobject.h:47
virtual StatusCode write()
Definition: IOobject.h:80
IOdata::Mode mode()
Definition: IOdata.h:119
StatusCode setU8(unsigned long int, U8)
Definition: IOdata.cpp:43
virtual void help()=0
Register * regData()
Definition: UsbI2cBus.h:58
void help()
Definition: UsbI2cBus.h:29
void help()
Definition: UsbSpiBus.h:30
void defDataU16(unsigned long size)
Definition: IOdata.h:186
void update()
Definition: UsbI2cBus.h:50
void dump(unsigned int printout=0)
Definition: IOdata.cpp:94
StatusCode setU16(unsigned long int, U16)
Definition: IOdata.cpp:60
virtual StatusCode init()
Definition: UsbSpiBus.cpp:74
Register * regTxData()
Definition: UsbSpiBus.h:100
void reset()
Definition: UsbSpiBus.h:46
U32 block()
Definition: IOdata.h:162
U32 * dataU32()
Definition: IOdata.h:222
bool aSS()
Definition: UsbSpiBus.h:67
virtual StatusCode read()
Definition: IOobject.h:73
Register * regSlaveSelect()
Definition: UsbSpiBus.h:92
StatusCode setU32(unsigned long int, U32)
Definition: IOdata.cpp:77
U32 clockDivider()
Definition: UsbSpiBus.cpp:127
void setASS(bool aSS)
Definition: UsbSpiBus.h:65
virtual StatusCode init()=0
virtual StatusCode write(IOdata *)=0
bool lSBFirst()
Definition: UsbSpiBus.h:71
Register * regRxData()
Definition: UsbSpiBus.h:96
StatusCode setBit(unsigned int, bool)
Definition: Register.cpp:32
StatusCode setAddress(U32 address)
Definition: IOdata.h:51
void dump()
Definition: IOobject.h:92
StatusCode setOutputSelect(U32 outputSelect)
Definition: IOdata.h:96
Register * regCtrl()
Definition: UsbSpiBus.h:84
StatusCode setHeader(U32 header)
Definition: IOdata.h:66
StatusCode setLength(U32 length)
Definition: IOdata.h:154
StatusCode raz()
Definition: RAM.cpp:43
U32 length()
Definition: IOdata.h:175
Definition: IOdata.h:17
U16 * dataU16()
Definition: IOdata.h:218
U32 address()
Definition: IOobject.h:88
StatusCode setSubAddress(U32 subAddress)
Definition: IOdata.h:81
bool txNeg()
Definition: UsbSpiBus.h:59
void setAddress(U32 address)
Definition: IOobject.h:84
U8 * dataU8()
Definition: IOdata.h:214
StatusCode setBus(IOdata::Bus bus)
Definition: IOdata.h:140
void reset()
Definition: UsbI2cBus.h:45
virtual StatusCode init()
Definition: UsbI2cBus.cpp:49
virtual void reset()=0
StatusCode setWordSize(IOdata::WordSize wordSize)
Definition: IOdata.h:126
void defDataU8(unsigned long size)
Definition: IOdata.h:179
bool rxNeg()
Definition: UsbSpiBus.h:63
U32 subAddress()
Definition: IOdata.h:89
StatusCode setBlock(U32 block)
Definition: IOdata.h:168
IOdata::WordSize wordSize()
Definition: IOdata.h:133
StatusCode setMode(IOdata::Mode mode)
Definition: IOdata.h:111
void setLSBFirst(bool lSBFirst)
Definition: UsbSpiBus.h:69
virtual StatusCode init()
Definition: IOobject.h:54
void update()
Definition: UsbSpiBus.h:51
IOdata::Bus bus()
Definition: IOdata.h:147
IOdata * io()
Definition: IOobject.h:66
void reset()
Definition: IOobject.h:41
StatusCode setClockDivider(U32)
Definition: UsbSpiBus.cpp:105