Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
a9fb88e1
Commit
a9fb88e1
authored
Oct 17, 2016
by
Krzysztof Blazewicz
Browse files
stmhal/hal/i2c: reapply HAL commit
ea040a4f
for f4
parent
e8b435d1
Changes
1
Hide whitespace changes
Inline
Side-by-side
stmhal/hal/f4/src/stm32f4xx_hal_i2c.c
View file @
a9fb88e1
...
...
@@ -2996,21 +2996,6 @@ HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAdd
if
(
hi2c
->
XferSize
>
0U
)
{
/* Set the I2C DMA transfer complete callback */
hi2c
->
hdmatx
->
XferCpltCallback
=
I2C_DMAXferCplt
;
/* Set the DMA error callback */
hi2c
->
hdmatx
->
XferErrorCallback
=
I2C_DMAError
;
/* Set the unused DMA callbacks to NULL */
hi2c
->
hdmatx
->
XferHalfCpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferM1CpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferM1HalfCpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferAbortCallback
=
NULL
;
/* Enable the DMA Stream */
HAL_DMA_Start_IT
(
hi2c
->
hdmatx
,
(
uint32_t
)
hi2c
->
pBuffPtr
,
(
uint32_t
)
&
hi2c
->
Instance
->
DR
,
hi2c
->
XferSize
);
/* Send Slave Address and Memory Address */
if
(
I2C_RequestMemoryWrite
(
hi2c
,
DevAddress
,
MemAddress
,
MemAddSize
,
I2C_TIMEOUT_FLAG
,
tickstart
)
!=
HAL_OK
)
{
...
...
@@ -3027,6 +3012,24 @@ HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAdd
return
HAL_TIMEOUT
;
}
}
/* message from ea040a4f9ace1c50abc22ab755415305fd2bda41 */
/* dpgeorge: DMA initialisation is moved to after sending the address */
/* Set the I2C DMA transfer complete callback */
hi2c
->
hdmatx
->
XferCpltCallback
=
I2C_DMAXferCplt
;
/* Set the DMA error callback */
hi2c
->
hdmatx
->
XferErrorCallback
=
I2C_DMAError
;
/* Set the unused DMA callbacks to NULL */
hi2c
->
hdmatx
->
XferHalfCpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferM1CpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferM1HalfCpltCallback
=
NULL
;
hi2c
->
hdmatx
->
XferAbortCallback
=
NULL
;
/* Enable the DMA Stream */
HAL_DMA_Start_IT
(
hi2c
->
hdmatx
,
(
uint32_t
)
pData
,
(
uint32_t
)
&
hi2c
->
Instance
->
DR
,
Size
);
/* Clear ADDR flag */
__HAL_I2C_CLEAR_ADDRFLAG
(
hi2c
);
...
...
@@ -3118,21 +3121,6 @@ HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddr
if
(
hi2c
->
XferSize
>
0U
)
{
/* Set the I2C DMA transfer complete callback */
hi2c
->
hdmarx
->
XferCpltCallback
=
I2C_DMAXferCplt
;
/* Set the DMA error callback */
hi2c
->
hdmarx
->
XferErrorCallback
=
I2C_DMAError
;
/* Set the unused DMA callbacks to NULL */
hi2c
->
hdmarx
->
XferHalfCpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferM1CpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferM1HalfCpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferAbortCallback
=
NULL
;
/* Enable the DMA Stream */
HAL_DMA_Start_IT
(
hi2c
->
hdmarx
,
(
uint32_t
)
&
hi2c
->
Instance
->
DR
,
(
uint32_t
)
hi2c
->
pBuffPtr
,
hi2c
->
XferSize
);
/* Send Slave Address and Memory Address */
if
(
I2C_RequestMemoryRead
(
hi2c
,
DevAddress
,
MemAddress
,
MemAddSize
,
I2C_TIMEOUT_FLAG
,
tickstart
)
!=
HAL_OK
)
{
...
...
@@ -3149,6 +3137,21 @@ HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddr
return
HAL_TIMEOUT
;
}
}
/* Set the I2C DMA transfer complete callback */
hi2c
->
hdmarx
->
XferCpltCallback
=
I2C_DMAXferCplt
;
/* Set the DMA error callback */
hi2c
->
hdmarx
->
XferErrorCallback
=
I2C_DMAError
;
/* Set the unused DMA callbacks to NULL */
hi2c
->
hdmarx
->
XferHalfCpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferM1CpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferM1HalfCpltCallback
=
NULL
;
hi2c
->
hdmarx
->
XferAbortCallback
=
NULL
;
/* Enable the DMA Stream */
HAL_DMA_Start_IT
(
hi2c
->
hdmarx
,
(
uint32_t
)
&
hi2c
->
Instance
->
DR
,
(
uint32_t
)
pData
,
Size
);
if
(
Size
==
1U
)
{
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment