Skip to content
GitLab
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
Primary navigation
Search or go to…
Project
B
backends
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Privacy statement
Keyboard shortcuts
?
What's new
6
Snippets
Groups
Projects
Show more breadcrumbs
sane-project
backends
Commits
c6e60013
Commit
c6e60013
authored
5 years ago
by
Povilas Kanapickas
Browse files
Options
Downloads
Patches
Plain Diff
genesys: Add low level scanner test interface
parent
0ea8ec11
No related branches found
Branches containing commit
No related tags found
Tags containing commit
Loading
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
backend/Makefile.am
+1
-0
1 addition, 0 deletions
backend/Makefile.am
backend/genesys/test_scanner_interface.cpp
+110
-0
110 additions, 0 deletions
backend/genesys/test_scanner_interface.cpp
backend/genesys/test_scanner_interface.h
+77
-0
77 additions, 0 deletions
backend/genesys/test_scanner_interface.h
with
188 additions
and
0 deletions
backend/Makefile.am
+
1
−
0
View file @
c6e60013
...
...
@@ -520,6 +520,7 @@ libgenesys_la_SOURCES = genesys/genesys.cpp genesys/genesys.h \
genesys/tables_motor.cpp
\
genesys/tables_motor_profile.cpp
\
genesys/tables_sensor.cpp
\
genesys/test_scanner_interface.h genesys/test_scanner_interface.cpp
\
genesys/low.cpp genesys/low.h
\
genesys/utilities.h
...
...
This diff is collapsed.
Click to expand it.
backend/genesys/test_scanner_interface.cpp
0 → 100644
+
110
−
0
View file @
c6e60013
/* sane - Scanner Access Now Easy.
Copyright (C) 2019 Povilas Kanapickas <povilas@radix.lt>
This file is part of the SANE package.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
As a special exception, the authors of SANE give permission for
additional uses of the libraries contained in this release of SANE.
The exception is that, if you link a SANE library with other files
to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public
License. Your use of that executable is in no way restricted on
account of linking the SANE library code into it.
This exception does not, however, invalidate any other reasons why
the executable file might be covered by the GNU General Public
License.
If you submit changes to SANE to the maintainers to be included in
a subsequent release, you agree by submitting the changes that
those changes may be distributed with this exception intact.
If you write modifications of your own for SANE, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.
*/
#define DEBUG_DECLARE_ONLY
#include
"test_scanner_interface.h"
#include
<cstring>
namespace
genesys
{
TestScannerInterface
::~
TestScannerInterface
()
=
default
;
bool
TestScannerInterface
::
is_mock
()
const
{
return
true
;
}
std
::
uint8_t
TestScannerInterface
::
read_register
(
std
::
uint16_t
address
)
{
return
cached_regs_
.
get
(
address
);
}
void
TestScannerInterface
::
write_register
(
std
::
uint16_t
address
,
std
::
uint8_t
value
)
{
cached_regs_
.
update
(
address
,
value
);
}
void
TestScannerInterface
::
write_registers
(
const
Genesys_Register_Set
&
regs
)
{
cached_regs_
.
update
(
regs
);
}
void
TestScannerInterface
::
write_0x8c
(
std
::
uint8_t
index
,
std
::
uint8_t
value
)
{
(
void
)
index
;
(
void
)
value
;
}
void
TestScannerInterface
::
bulk_read_data
(
std
::
uint8_t
addr
,
std
::
uint8_t
*
data
,
std
::
size_t
size
)
{
(
void
)
addr
;
std
::
memset
(
data
,
0
,
size
);
}
void
TestScannerInterface
::
bulk_write_data
(
std
::
uint8_t
addr
,
std
::
uint8_t
*
data
,
std
::
size_t
size
)
{
(
void
)
addr
;
(
void
)
data
;
(
void
)
size
;
}
void
TestScannerInterface
::
write_ahb
(
std
::
uint32_t
addr
,
std
::
uint32_t
size
,
std
::
uint8_t
*
data
)
{
(
void
)
addr
;
(
void
)
size
;
(
void
)
data
;
}
std
::
uint16_t
TestScannerInterface
::
read_fe_register
(
std
::
uint8_t
address
)
{
return
cached_fe_regs_
.
get
(
address
);
}
void
TestScannerInterface
::
write_fe_register
(
std
::
uint8_t
address
,
std
::
uint16_t
value
)
{
cached_fe_regs_
.
update
(
address
,
value
);
}
}
// namespace genesys
This diff is collapsed.
Click to expand it.
backend/genesys/test_scanner_interface.h
0 → 100644
+
77
−
0
View file @
c6e60013
/* sane - Scanner Access Now Easy.
Copyright (C) 2019 Povilas Kanapickas <povilas@radix.lt>
This file is part of the SANE package.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
As a special exception, the authors of SANE give permission for
additional uses of the libraries contained in this release of SANE.
The exception is that, if you link a SANE library with other files
to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public
License. Your use of that executable is in no way restricted on
account of linking the SANE library code into it.
This exception does not, however, invalidate any other reasons why
the executable file might be covered by the GNU General Public
License.
If you submit changes to SANE to the maintainers to be included in
a subsequent release, you agree by submitting the changes that
those changes may be distributed with this exception intact.
If you write modifications of your own for SANE, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.
*/
#ifndef BACKEND_GENESYS_TEST_SCANNER_INTERFACE_H
#define BACKEND_GENESYS_TEST_SCANNER_INTERFACE_H
#include
"scanner_interface.h"
#include
"register_cache.h"
namespace
genesys
{
class
TestScannerInterface
:
public
ScannerInterface
{
public:
~
TestScannerInterface
()
override
;
bool
is_mock
()
const
override
;
std
::
uint8_t
read_register
(
std
::
uint16_t
address
)
override
;
void
write_register
(
std
::
uint16_t
address
,
std
::
uint8_t
value
)
override
;
void
write_registers
(
const
Genesys_Register_Set
&
regs
)
override
;
void
write_0x8c
(
std
::
uint8_t
index
,
std
::
uint8_t
value
)
override
;
void
bulk_read_data
(
std
::
uint8_t
addr
,
std
::
uint8_t
*
data
,
std
::
size_t
size
)
override
;
void
bulk_write_data
(
std
::
uint8_t
addr
,
std
::
uint8_t
*
data
,
std
::
size_t
size
)
override
;
void
write_ahb
(
std
::
uint32_t
addr
,
std
::
uint32_t
size
,
std
::
uint8_t
*
data
)
override
;
std
::
uint16_t
read_fe_register
(
std
::
uint8_t
address
)
override
;
void
write_fe_register
(
std
::
uint8_t
address
,
std
::
uint16_t
value
)
override
;
private:
RegisterCache
<
std
::
uint8_t
>
cached_regs_
;
RegisterCache
<
std
::
uint16_t
>
cached_fe_regs_
;
};
}
// namespace genesys
#endif
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment