Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
bpm-sw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
bpm
bpm-sw
Commits
bb12644c
Commit
bb12644c
authored
Aug 09, 2016
by
Lucas Russo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sm_io/chips/*: avoid the extra memcpy by passing the user buffer
parent
6fabb2eb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
10 deletions
+6
-10
sm_ch_ad9510.c
src/sm_io/chips/sm_ch_ad9510.c
+5
-5
sm_ch_isla216p.c
src/sm_io/chips/sm_ch_isla216p.c
+1
-5
No files found.
src/sm_io/chips/sm_ch_ad9510.c
View file @
bb12644c
...
...
@@ -772,7 +772,11 @@ static ssize_t _smch_ad9510_write_8 (smch_ad9510_t *self, uint8_t addr,
AD9510_HDR_ADDR_W
(
addr
)
);
size_t
__addr_size
=
AD9510_INSTADDR_SIZE
/
SMPR_BYTE_2_BIT
;
DBE_DEBUG
(
DBG_SM_PR
|
DBG_LVL_WARN
,
"[_smch_ad9510_write_8] data = 0x%08X
\n
"
,
*
data
);
uint32_t
__data
=
AD9510_DATA_W
(
*
data
);
DBE_DEBUG
(
DBG_SM_PR
|
DBG_LVL_WARN
,
"[_smch_ad9510_write_8] __data = 0x%08X
\n
"
,
__data
);
size_t
__data_size
=
AD9510_DATA_SIZE
/
SMPR_BYTE_2_BIT
;
ssize_t
smpr_err
=
smpr_write_block
(
self
->
spi
,
__addr_size
,
__addr
,
...
...
@@ -802,17 +806,13 @@ static ssize_t _smch_ad9510_read_8 (smch_ad9510_t *self, uint8_t addr,
AD9510_HDR_ADDR_W
(
addr
)
);
size_t
__addr_size
=
AD9510_INSTADDR_SIZE
/
SMPR_BYTE_2_BIT
;
uint32_t
__data
=
0
;
size_t
__data_size
=
AD9510_DATA_SIZE
/
SMPR_BYTE_2_BIT
;
ssize_t
smpr_err
=
smpr_read_block
(
self
->
spi
,
__addr_size
,
__addr
,
__data_size
,
&
__
data
);
__data_size
,
(
uint32_t
*
)
data
);
ASSERT_TEST
(
smpr_err
>
0
&&
(
size_t
)
smpr_err
==
__data_size
,
"Could not read to SMPR"
,
err_read_write
,
-
1
);
/* Only the 8 LSB are valid for one byte reading (AD9510_HDR_BT_W(0x0)) */
memcpy
(
data
,
&
__data
,
sizeof
(
uint8_t
));
err_read_write:
return
err
;
}
...
...
src/sm_io/chips/sm_ch_isla216p.c
View file @
bb12644c
...
...
@@ -257,17 +257,13 @@ static ssize_t _smch_isla216p_read_8 (smch_isla216p_t *self, uint8_t addr,
ISLA216P_HDR_ADDR_W
(
addr
)
);
size_t
__addr_size
=
ISLA216P_INSTADDR_SIZE
/
SMPR_BYTE_2_BIT
;
uint32_t
__data
=
0
;
size_t
__data_size
=
ISLA216P_DATA_SIZE
/
SMPR_BYTE_2_BIT
;
ssize_t
smpr_err
=
smpr_read_block
(
self
->
proto
,
__addr_size
,
__addr
,
__data_size
,
&
__
data
);
__addr
,
__data_size
,
(
uint32_t
*
)
data
);
ASSERT_TEST
(
smpr_err
>
0
&&
(
size_t
)
smpr_err
==
__data_size
,
"Could not read to SMPR"
,
err_smpr_read
,
-
1
);
/* Only the 8 LSB are valid for one byte reading (ISLA216P_HDR_BT_W(0x0)) */
memcpy
(
data
,
&
__data
,
sizeof
(
uint8_t
));
err_smpr_read:
return
err
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment