[riot-commits] [RIOT-OS/RIOT] be3279: stm32f1/i2c: fix multi byte reading

Peter Kietzmann peter.kietzmann at haw-hamburg.de
Wed Mar 2 16:55:14 CET 2016


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: be3279f9bc996c910935e74c3bdba5164196a402
      https://github.com/RIOT-OS/RIOT/commit/be3279f9bc996c910935e74c3bdba5164196a402
  Author: Victor Arino <victor.arino at triagnosys.com>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  stm32f1/i2c: fix multi byte reading


  Commit: da5b03df5d2026035fba5db8c8c97d47b01dd5c6
      https://github.com/RIOT-OS/RIOT/commit/da5b03df5d2026035fba5db8c8c97d47b01dd5c6
  Author: Victor Arino <victor.arino at triagnosys.com>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  stm32f1/i2c: remove duplicated code


  Commit: a477d6f81ddb60adb90c7b86de2b1c1a6be9b9f2
      https://github.com/RIOT-OS/RIOT/commit/a477d6f81ddb60adb90c7b86de2b1c1a6be9b9f2
  Author: Victor Arino <victor.arino at triagnosys.com>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  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.


  Commit: 57e20941f584d83a71c172c43534844fdedf048e
      https://github.com/RIOT-OS/RIOT/commit/57e20941f584d83a71c172c43534844fdedf048e
  Author: Victor Arino <victor.arino at triagnosys.com>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  stm32f1/i2c: add support for secondary i2c


  Commit: b40cb6bebb6964908a85ad41a934126d3624303c
      https://github.com/RIOT-OS/RIOT/commit/b40cb6bebb6964908a85ad41a934126d3624303c
  Author: Victor Arino <victor.arino at triagnosys.com>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  stm32f1/i2c: uncrustify untouched code


  Commit: e186eb9f70e6263dc855c9ca04fa9a608c4ad901
      https://github.com/RIOT-OS/RIOT/commit/e186eb9f70e6263dc855c9ca04fa9a608c4ad901
  Author: Peter Kietzmann <peter.kietzmann at haw-hamburg.de>
  Date:   2016-03-02 (Wed, 02 Mar 2016)

  Changed paths:
    M cpu/stm32f1/periph/i2c.c

  Log Message:
  -----------
  Merge pull request #4736 from lebrush/stm32f1-i2c-fixes

stm32f1 i2c fixes


Compare: https://github.com/RIOT-OS/RIOT/compare/af48dadb2643...e186eb9f70e6


More information about the commits mailing list