OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [tools/] [src/] [librlink/] [RlinkCommandExpect.ipp] - Blame information for rev 28

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 28 wfjm
// $Id: RlinkCommandExpect.ipp 616 2014-12-21 10:09:25Z mueller $
2 10 wfjm
//
3 28 wfjm
// Copyright 2011-2014 by Walter F.J. Mueller 
4 10 wfjm
//
5
// This program is free software; you may redistribute and/or modify it under
6
// the terms of the GNU General Public License as published by the Free
7
// Software Foundation, either version 2, or at your option any later version.
8
//
9
// This program is distributed in the hope that it will be useful, but
10
// WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
// for complete details.
13
//
14
// Revision History:
15
// Date         Rev Version  Comment
16 28 wfjm
// 2014-12-20   616   1.1    add Done count methods (for rblk/wblk)
17 10 wfjm
// 2011-03-12   368   1.0    Initial version
18
// 2011-01-15   355   0.1    First draft
19
// ---------------------------------------------------------------------------
20
 
21
/*!
22
  \file
23 28 wfjm
  \version $Id: RlinkCommandExpect.ipp 616 2014-12-21 10:09:25Z mueller $
24 10 wfjm
  \brief   Implemenation (inline) of class RlinkCommandExpect.
25
*/
26
 
27 19 wfjm
// all method definitions in namespace Retro
28 10 wfjm
namespace Retro {
29
 
30
//------------------------------------------+-----------------------------------
31 19 wfjm
//! FIXME_docs
32 10 wfjm
 
33
inline void RlinkCommandExpect::SetStatus(uint8_t stat, uint8_t statmsk)
34
{
35
  fStatusVal = stat;
36
  fStatusMsk = statmsk;
37
  return;
38
}
39
 
40
//------------------------------------------+-----------------------------------
41 19 wfjm
//! FIXME_docs
42 10 wfjm
 
43
inline void RlinkCommandExpect::SetData(uint16_t data, uint16_t datamsk)
44
{
45
  fDataVal = data;
46
  fDataMsk = datamsk;
47
  return;
48
}
49
 
50
//------------------------------------------+-----------------------------------
51 19 wfjm
//! FIXME_docs
52 10 wfjm
 
53 28 wfjm
inline void RlinkCommandExpect::SetDone(uint16_t done, bool check)
54
{
55
  fDataVal = done;
56
  fDataMsk = check ? 0 : 0xffff;
57
  return;
58
}
59
 
60
//------------------------------------------+-----------------------------------
61
//! FIXME_docs
62
 
63 10 wfjm
inline void RlinkCommandExpect::SetBlock(const std::vector& block)
64
{
65
  fBlockVal = block;
66
  return;
67
}
68
 
69
//------------------------------------------+-----------------------------------
70 19 wfjm
//! FIXME_docs
71 10 wfjm
 
72
inline void RlinkCommandExpect::SetBlock(
73
                   const std::vector& block,
74
                   const std::vector& blockmsk)
75
{
76
  fBlockVal = block;
77
  fBlockMsk = blockmsk;
78
  return;
79
}
80
 
81
//------------------------------------------+-----------------------------------
82 19 wfjm
//! FIXME_docs
83 10 wfjm
 
84
inline uint8_t RlinkCommandExpect::StatusValue() const
85
{
86
  return fStatusVal;
87
}
88
 
89
//------------------------------------------+-----------------------------------
90 19 wfjm
//! FIXME_docs
91 10 wfjm
 
92
inline uint8_t RlinkCommandExpect::StatusMask() const
93
{
94
  return fStatusMsk;
95
}
96
 
97
//------------------------------------------+-----------------------------------
98 19 wfjm
//! FIXME_docs
99 10 wfjm
 
100
inline uint16_t RlinkCommandExpect::DataValue() const
101
{
102
  return fDataVal;
103
}
104
 
105
//------------------------------------------+-----------------------------------
106 19 wfjm
//! FIXME_docs
107 10 wfjm
 
108
inline uint16_t RlinkCommandExpect::DataMask() const
109
{
110
  return fDataMsk;
111
}
112
 
113
//------------------------------------------+-----------------------------------
114 19 wfjm
//! FIXME_docs
115 10 wfjm
 
116 28 wfjm
inline uint16_t RlinkCommandExpect::DoneValue() const
117
{
118
  return fDataVal;
119
}
120
 
121
//------------------------------------------+-----------------------------------
122
//! FIXME_docs
123
 
124 10 wfjm
inline const std::vector& RlinkCommandExpect::BlockValue() const
125
{
126
  return fBlockVal;
127
}
128
 
129
//------------------------------------------+-----------------------------------
130 19 wfjm
//! FIXME_docs
131 10 wfjm
 
132
inline const std::vector& RlinkCommandExpect::BlockMask() const
133
{
134
  return fBlockMsk;
135
}
136
 
137
//------------------------------------------+-----------------------------------
138 19 wfjm
//! FIXME_docs
139 10 wfjm
 
140
inline bool RlinkCommandExpect::StatusCheck(uint8_t val) const
141
{
142
  return (val|fStatusMsk) == (fStatusVal|fStatusMsk);
143
}
144
 
145
//------------------------------------------+-----------------------------------
146 19 wfjm
//! FIXME_docs
147 10 wfjm
 
148
inline bool RlinkCommandExpect::DataCheck(uint16_t val) const
149
{
150
  return (val|fDataMsk) == (fDataVal|fDataMsk);
151
}
152
 
153
//------------------------------------------+-----------------------------------
154 19 wfjm
//! FIXME_docs
155 10 wfjm
 
156 28 wfjm
inline bool RlinkCommandExpect::DoneCheck(uint16_t val) const
157
{
158
  return !DoneIsChecked() || val == fDataVal;
159
}
160
 
161
//------------------------------------------+-----------------------------------
162
//! FIXME_docs
163
 
164 10 wfjm
inline bool RlinkCommandExpect::StatusIsChecked() const
165
{
166
  return fStatusMsk != 0xff;
167
}
168
 
169
//------------------------------------------+-----------------------------------
170 19 wfjm
//! FIXME_docs
171 10 wfjm
 
172
inline bool RlinkCommandExpect::DataIsChecked() const
173
{
174
  return fDataMsk != 0xffff;
175
}
176
 
177 28 wfjm
//------------------------------------------+-----------------------------------
178
//! FIXME_docs
179
 
180
inline bool RlinkCommandExpect::DoneIsChecked() const
181
{
182
  return fDataMsk == 0;
183
}
184
 
185 10 wfjm
} // end namespace Retro

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.