1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
Hauke Petersen
141f8c9ff6 cpu/stm32f1: adapted GPIO driver 2016-03-17 14:55:30 +01:00
Joakim Nohlgård
7ce5f1b5c0 cpu/stm32f1: i2c: Use {} notation for empty while loops 2016-03-13 08:14:39 +01:00
Victor Arino
b40cb6bebb stm32f1/i2c: uncrustify untouched code 2016-02-03 17:42:42 +01:00
Victor Arino
57e20941f5 stm32f1/i2c: add support for secondary i2c 2016-02-03 17:42:42 +01:00
Victor Arino
a477d6f81d stm32f1/i2c: do not block in case of error
Due to the errata of some of the stm32f1xx family, the i2c lines need
to be toggled when setting up the peripheral. This however seems to
hang some i2c slaves which do not ack the first message sent after
initialization. This caused the code to be stucked waiting for the
never coming ACK. The same situation could occur when a byte was not
acked due to whatever reason.

The previous implementation of the i2c driver didn't allow recovery
on these situations. Now the driver does not block forever but rather
returns a <0 code to indicate that the transaction was not succesful.
2016-02-03 17:42:42 +01:00
Victor Arino
da5b03df5d stm32f1/i2c: remove duplicated code 2016-02-03 17:42:42 +01:00
Victor Arino
be3279f9bc stm32f1/i2c: fix multi byte reading 2016-02-03 17:35:29 +01:00
Hauke Petersen
3d35c33cb2 cpu/stm32f1: fixed i2c driver
the _stop() function now blocks until the transfer
is complete. Not waiting can lead to concurrent bus
access and subsequent to bus errors.
2015-11-18 14:57:15 +01:00
Thomas Eichinger
96b6d4b1dd stm32f1/i2c: Disable I2C module before initialization
When initializing multiple drivers connected to the same
I2C bus, the bus should be disabled before pin toggeling
and reinitialization.
2015-11-01 11:51:51 +09:00
Hauke Petersen
82c843a000 cpu: removed init_slave from I2C drivers 2015-10-20 16:57:39 +02:00
Hauke Petersen
af10ab64a7 cpu/stm32f1: simplified pin init in periph drivers 2015-08-12 10:50:17 +02:00
Hauke Petersen
bcb9aebadd cpu/stm32f1: modernized the GPIO driver 2015-08-06 13:48:25 +02:00
Thomas Eichinger
fe643f7077 periph/i2c: added means to make I2C thread-safe
As discussed in #2289 this changes provide means to
use the i2c interface safely within multible threads.
2015-01-19 12:18:03 +01:00
Hauke Petersen
ac2ff23020 cpu/stm32f1: fixes to i2c driver
- fixes BUSY on initialization
2014-11-04 21:09:40 +01:00
Hinnerk van Bruinehsen
2103249815 lint: fix unassignedVariable warnings in stm32f1 2014-10-31 01:24:28 +01:00
Thomas Eichinger
ede33a6364 cpu/stm32f1: fix i2c read for N=2 bytes 2014-10-24 14:48:31 +02:00
Thomas Eichinger
414be5257d cpu/stm32f1: fix i2c master read for N>2 bytes
This fixes reading more than 2 bytes from the slave device.
In the current implementation the last byte was not read from
data register and the termination sequence buggy.
2014-10-24 14:08:27 +02:00
Hauke Petersen
0fed9a438c cpu/stm32f1: added low-level I2C driver 2014-10-15 14:50:14 +02:00