DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
wibmod
src
wibmod
WIB1
AddressTable.hh
Go to the documentation of this file.
1
#ifndef __ADDRESSTABLE_HPP__
2
#define __ADDRESSTABLE_HPP__
3
4
#include <string>
5
#include <vector>
6
#include <boost/unordered_map.hpp>
7
#include <map>
8
9
#include <stdint.h>
10
11
#include "
wibmod/WIB1/ItemConversion.hh
"
12
#include "
wibmod/WIB1/BNL_UDP.hh
"
13
14
class
Item
{
15
public
:
16
enum
ModeMask
{
EMPTY
=0x0,
READ
= 0x1,
WRITE
=0x2,
ACTION
= 0x4};
17
std::string
name
;
18
uint16_t
address
;
19
uint32_t
mask
;
20
uint8_t
offset
;
21
uint8_t
mode
;
// r :0, w :1, a:2
22
boost::unordered_map<std::string,std::string>
user
;
23
ItemConversion
*
sc_conv
;
24
};
25
26
class
AddressTable
{
27
public
:
28
AddressTable
(std::string
const
& addressTableName, std::string
const
& deviceAddress,uint16_t
offset
);
29
uint32_t
Read
(uint16_t);
30
uint32_t
Read
(std::string registerName);
31
uint32_t
ReadWithRetry
(uint16_t);
32
uint32_t
ReadWithRetry
(std::string registerName);
33
void
Write
(uint16_t, uint32_t);
34
void
Write
(std::string registerName,uint32_t val);
35
void
WriteWithRetry
(uint16_t, uint32_t);
36
void
WriteWithRetry
(std::string registerName,uint32_t val);
37
void
Write
(uint16_t, std::vector<uint32_t>
const
& values);
38
void
Write
(std::string registerName,std::vector<uint32_t>
const
& values);
39
void
Write
(uint16_t, uint32_t
const
* values,
size_t
word_count);
40
void
Write
(std::string registerName, uint32_t
const
* values,
size_t
word_count);
41
Item
const
*
GetItem
(std::string
const
&);
42
std::vector<Item const *>
GetTagged
(std::string
const
& tag);
43
std::vector<std::string>
GetNames
();
44
std::vector<std::string>
GetNames
(std::string
const
®ex);
45
std::vector<std::string>
GetAddresses
(uint16_t lower, uint16_t upper);
46
std::string
GetRemoteAddress
(){
return
io
->GetAddress();};
47
std::vector<std::string>
GetTables
(std::string
const
®ex);
48
uint64_t
GetRetryCount
(){
return
io
->GetRetryCount();};
49
private
:
50
//default constructor is forbidden
51
AddressTable
();
52
//preventcopying
53
AddressTable
(
const
AddressTable
& );
54
AddressTable
&
operator=
(
const
AddressTable
&);
55
56
int
fileLevel
;
57
void
LoadFile
(std::string
const
&, std::string
const
& prefix =
""
,uint16_t
offset
=0);
58
void
ProcessLine
(std::string
const
&,
size_t
,std::string
const
& prefix =
""
,uint16_t
offset
=0);
59
//Ds of entries
60
//req req req req tokenized
61
//name address mask mode user
62
void
AddEntry
(
Item
*);
63
//Map of address to Items (master book-keeping; delete from here)
64
std::map<uint32_t,std::vector<Item*> >
addressItemMap
;
65
//Map of names to Items
66
std::map<std::string,Item*>
nameItemMap
;
67
68
BNL_UDP
*
io
;
69
};
70
#endif
BNL_UDP.hh
ItemConversion.hh
AddressTable::LoadFile
void LoadFile(std::string const &, std::string const &prefix="", uint16_t offset=0)
Definition
AddressTable_fileIO.cpp:12
AddressTable::addressItemMap
std::map< uint32_t, std::vector< Item * > > addressItemMap
Definition
AddressTable.hh:64
AddressTable::GetAddresses
std::vector< std::string > GetAddresses(uint16_t lower, uint16_t upper)
Definition
AddressTable_search.cpp:66
AddressTable::AddEntry
void AddEntry(Item *)
Definition
AddressTable_item.cpp:24
AddressTable::Write
void Write(uint16_t, uint32_t)
Definition
AddressTable_IO.cpp:18
AddressTable::operator=
AddressTable & operator=(const AddressTable &)
AddressTable::io
BNL_UDP * io
Definition
AddressTable.hh:68
AddressTable::GetRemoteAddress
std::string GetRemoteAddress()
Definition
AddressTable.hh:46
AddressTable::fileLevel
int fileLevel
Definition
AddressTable.hh:56
AddressTable::GetNames
std::vector< std::string > GetNames()
Definition
AddressTable_search.cpp:10
AddressTable::GetItem
Item const * GetItem(std::string const &)
Definition
AddressTable_item.cpp:11
AddressTable::ReadWithRetry
uint32_t ReadWithRetry(uint16_t)
Definition
AddressTable_IO.cpp:13
AddressTable::AddressTable
AddressTable(std::string const &addressTableName, std::string const &deviceAddress, uint16_t offset)
Definition
AddressTable.cpp:10
AddressTable::AddressTable
AddressTable()
AddressTable::WriteWithRetry
void WriteWithRetry(uint16_t, uint32_t)
Definition
AddressTable_IO.cpp:21
AddressTable::Read
uint32_t Read(uint16_t)
Definition
AddressTable_IO.cpp:10
AddressTable::GetRetryCount
uint64_t GetRetryCount()
Definition
AddressTable.hh:48
AddressTable::AddressTable
AddressTable(const AddressTable &)
AddressTable::GetTagged
std::vector< Item const * > GetTagged(std::string const &tag)
Definition
AddressTable_search.cpp:135
AddressTable::nameItemMap
std::map< std::string, Item * > nameItemMap
Definition
AddressTable.hh:66
AddressTable::GetTables
std::vector< std::string > GetTables(std::string const ®ex)
Definition
AddressTable_search.cpp:87
AddressTable::ProcessLine
void ProcessLine(std::string const &, size_t, std::string const &prefix="", uint16_t offset=0)
Definition
AddressTable_fileIO.cpp:44
BNL_UDP
Definition
BNL_UDP.hh:14
ItemConversion
Definition
ItemConversion.hh:7
Item
Definition
AddressTable.hh:14
Item::name
std::string name
Definition
AddressTable.hh:17
Item::user
boost::unordered_map< std::string, std::string > user
Definition
AddressTable.hh:22
Item::address
uint16_t address
Definition
AddressTable.hh:18
Item::mask
uint32_t mask
Definition
AddressTable.hh:19
Item::offset
uint8_t offset
Definition
AddressTable.hh:20
Item::sc_conv
ItemConversion * sc_conv
Definition
AddressTable.hh:23
Item::mode
uint8_t mode
Definition
AddressTable.hh:21
Item::ModeMask
ModeMask
Definition
AddressTable.hh:16
Item::EMPTY
@ EMPTY
Definition
AddressTable.hh:16
Item::WRITE
@ WRITE
Definition
AddressTable.hh:16
Item::ACTION
@ ACTION
Definition
AddressTable.hh:16
Item::READ
@ READ
Definition
AddressTable.hh:16
offset
double offset
Definition
conversions-impl.hh:28
Generated on
for DUNE-DAQ by
1.17.0