MrKevinWeiss
3e1fd9f494
cpu/stm32_common/i2c: Fix error handling in i2c_1.c
...
Errors flags could not clear making the i2c unusable after error.
This fix removes the error check in start so the error flags can clear and does proper checking for status bits before _bus_check.
2018-10-26 09:56:35 +02:00
e9a6ebc409
cpu: drivers/eeprom: refactor periph_eeprom implementation
2018-10-16 10:39:10 +02:00
Peter Kietzmann
b2c791c6cb
Merge pull request #10135 from miri64/cpu/enh/periph-gpio-irq-closing-endif
...
cpu, periph_gpio: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-15 13:41:02 +02:00
cladmi
e0a5860bb7
cpu/stm32_common: remove inadapted periph_flash_common
...
The `periph_flash_common` feature was only defined here to trigger
inclusion of a source file with common functions.
It even only defines private symbols `_lock` and `_unlock` so no reason
to expose it to the build system.
And in practice, all stm cpus providing `periph_flashpage` or
`periph_eeprom` were required to provide `periph_flash_common` to allow
including it.
The previous implementation was only parsing in the modules were in
`FEATURES_REQUIRED` wich did not take cases of `FEATURES_OPTIONAL` into
account.
And also, in the same time, as the dependencies was declared in
`Makefile.include` it was processed before `Makefile.dep` so never handled
cases where a module could depend on `periph_flashpage` or
`periph_eeprom` feature.
It is replaced by selecting the common source file when module using it
are included.
The now useless feature `periph_flash_common` is removed from
`FEATURES_PROVIDED`.
2018-10-11 15:20:44 +02:00
cladmi
d8080a66e4
cpu/stm32_common: Do not use USEMODULE to select i2c implem
...
`cpu/stm32_common/Makefile.dep` was never included by the global
`Makefile.dep`, so declaring this `USEMODULE +=` here was never shown to
the build system and never exported as `MODULE_PERIPH_I2C_X` variables.
In fact, `USEMODULE` was only used to trigger the `periph.mk`/`SUBMODULES`
mechanism to add matching source files names to `SRC` and so select
the implementation for each CPU type.
It is replaced by just explicitly selecting the right source file.
2018-10-11 15:20:25 +02:00
Hauke Petersen
5f50db07e8
misc: use correct hauke.petersen@fu email address
2018-10-11 12:20:37 +02:00
Martine Lenders
92c5a7824a
stm32_common: mark closing #endif for MODULE_PERIPH_GPIO_IRQ
2018-10-09 15:11:00 +02:00
Hauke Petersen
a956d71a67
cpu/stm32_common/gpio: use gpio_irq feature
2018-09-21 08:19:51 +02:00
Martine Lenders
9478274bd9
stm32_common/eeprom: fix DEBUG formatting
...
This fixes compilation for `periph_eeprom` with LLVM/clang and also is
more in accordance with our [coding conventions].
[coding conventions]: https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions#-wformat
2018-08-14 14:56:44 +02:00
a008b983b3
cpu/stm32_common: add flashpage support for stm32l4
2018-08-06 12:33:03 +02:00
Martine Lenders
6f78a7f331
stm32_common: i2c_2: fix for -Wunused-function
...
This came up when compiling an application for a STM32-based board
with LLVM/clang. The function is not used if I²C is not provided.
2018-08-03 16:12:52 +02:00
5f1d5e0d83
cpu/stm32_common: various improvements in i2c_1 driver
...
- dont send stop if bus is busy and before any action is done on bus
- and bus check that looks for bus error, arbitration and nack events
- check for ACK (TXIS) before writing bytes on bus and not between each write
2018-07-25 12:01:39 +02:00
MrKevinWeiss
e8c56ceadc
cpu/stm32_common/i2c: Fix return error code
2018-07-25 12:01:39 +02:00
MrKevinWeiss
6016266c77
cpu/stm_common/i2c: Fix error code
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6a3f9f35dc
cpu/stm32_common/i2c: Fix extra clear_addr
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6f6c3d7926
cpu/stm_common/i2c: style fix
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6c4f144e25
cpu/stm32_common/i2c: fix addr nack and flags
2018-07-25 12:01:38 +02:00
99b3bb88bd
cpu/stm32_common: update return values to error codes
2018-07-25 12:01:37 +02:00
Vincent Dupont
c0c9ea034c
cpu/stm32_common: add timeouts in stm32f4 i2c driver
2018-07-25 12:01:37 +02:00
06e11c5586
cpu/stm32_common: adapt i2c driver to stm32f1
2018-07-25 12:01:37 +02:00
9166fb27fa
cpu/stm32_common: split common i2c periph in 2
...
- i2c_1 is built for f0, f3, f7, l0 and l4
- i2c_2 is built for f4
2018-07-25 12:01:36 +02:00
ebc17acb59
cpu/stm32{f0,f3,f7,l0,l4}: unify i2c driver and use new API
2018-07-25 12:01:35 +02:00
Vincent Dupont
bdac278c18
cpu/stm32_common/hwrng: use CPU_LINE for for stm32f410-specific code
2018-07-09 11:52:05 +02:00
600727453b
cpu/stm32_common/flashpage: clear EOP bit
...
This was taken from STM32 Cube generated code
2018-05-30 14:14:29 +02:00
f7b61b6ac1
cpu/stm32_common/flashpage: force waiting for pending operations
...
Moving the while loop in a separate function ensures no ordering
optimizations is applied silently by gcc.
This commit fixes the flashpage not working on iotlab-m3.
2018-05-30 14:12:24 +02:00
c73ec5c00f
cpu/stm32_common/periph: don't lock if flash is already locked
2018-05-30 14:09:17 +02:00
cb089a2f74
cpu/stm32_common/periph: cleanup flashpage
...
- improve debug messages
- fix missing space before comment
- use a comment instead of debug message (the same message is displayed by the function called after)
2018-05-30 14:09:17 +02:00
89e0389f27
cpu/stm32_common: implement eeprom access functions
2018-05-24 14:07:55 +02:00
Vincent Dupont
8fc63738f6
cpu/stm32_common: adapt UART driver to use DMA
2018-05-23 11:09:46 +02:00
Vincent Dupont
6551d896be
cpu/stm32_common: adapt SPI driver to use DMA
2018-05-23 11:09:46 +02:00
Vincent Dupont
d399518ac6
cpu/stm32_common: add DMA implementation for F2/F4/F7
2018-05-23 11:09:46 +02:00
Vincent Dupont
549bf0ef78
cpu/stm32: use const pointer in flashpage
2018-03-14 16:28:33 +01:00
67190a31ef
cpu/stm32_common: unify flashpage support
2018-03-13 16:30:04 +01:00
Aurelien Fillau
0368239a63
cpu/stm32l0: power management updated
...
Now, MCU is able to go in stop mode if necessary when
periph_pm feature is activated.
Regarding LPSDSR bit that deactivates or not regulator in stop
mode, it is up to the user to set/clear this bit. In order
to save power, voltage regulator can be set in low power state
during stop mode but it increases wakeup time.
Signed-off-by: Aurelien Fillau <aurelien.fillau@gmail.com>
2018-03-11 11:01:25 +01:00
7f150d6041
Merge pull request #7787 from OTAkeys/pr/stm32_pm_periph
...
cpu/stm32: add pm support in uart, spi and i2c (f4)
2018-03-06 16:34:44 +02:00
Hauke Petersen
e78b055787
Merge pull request #8556 from kaspar030/stm32_gpio_read
...
cpu: stm32_common: always do gpio_read() from input register
2018-03-06 15:30:01 +01:00
Vincent Dupont
34e8609f2c
cpu/stm32_common: add pm support in spi driver
2018-03-06 15:13:01 +01:00
Vincent Dupont
1aee2f1f14
cpu/stm32_common: add pm support in uart driver
2018-03-06 15:13:00 +01:00
Vincent Dupont
c01e8629ec
cpu/stm32_common: add PM modes
2018-03-06 15:12:58 +01:00
Gilles DOFFE
bee493ac71
cpu/stm32_common: add qdec implementation
...
* Add support for the STM32 encoder interface
* The STM32 only supports X2 and X4 modes.
* Enable interrupt handler on counter overflow
* Add simple test code for QDEC based on nucleo-f401 board
Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2018-02-23 23:17:26 +01:00
83bff5c643
cpu: stm32_common: always do gpio_read() from input register
2018-02-13 21:51:45 +01:00
Vincent Dupont
972eeefe6e
stm32_common/rtt: add support for stm32f4
2018-02-08 17:39:39 +01:00
smlng
b283b7784c
make: fix various compile errors with Wextra
...
pkg, nordic_softdevice_ble: disable CFLAGS to omit compiler error
sys, pm_layered: fix casting nonscalar to the same type
cpu, stm32_common: fix type-limits, remove always true assert
cpu, stm32f4: fix pointer arithmetic in periph/i2c
drivers, at86rf2xx: fix type-limits where condition always true
saul, gpio: fix if no gpio configured for saul
cpu, saml21: add frequency check to periph/timer
driver, cc110x: fix unused param and type-limts errors
boards, wsn430-common: fix old-style-declaration
make: fix old style definition
drivers, sdcard_spi: fix old style typedef
driver, at30tse: remove unnecessary check
driver, nrf24: fix type-limit
driver, pn532: change buffer from char to uint8_t
tests/driver_sdcard: fix type limits
boards, feather-m0: add missing field inits
driver, tcs37727: fix type limits
pkg, emb6: disable some compiler warnings
tests/emb6: disable some compiler warings
pkg, openthread: fix sign compare and unused params
tests/trickle: fix struct init
tests/pthread_cooperation: fix type limits
board, mips-malta: remove feature periph_uart
shell: fix var size for netif command
gnrc, netif: fix sign-compare
gnrc, nib: fix sign-compare
shell: fix output in netif command
posix: fix type-limits in pthread_cond
2017-11-28 18:31:43 +01:00
Martine Lenders
39c122155c
Merge pull request #7995 from smlng/make/fix/unused_params
...
make: fix unused-params error
2017-11-28 14:46:23 +01:00
smlng
7309171303
build: fix unused parameter errors
...
cpu, sam0_common: fix unused parameter in periph/spi
cpu, kinetis_common: fix unused parameter in periph/spi
cpu, cc2538: fix unused param in periph/i2c
cpu, cc2538: fix unused param in periph/spi
cpu, sam3: fix unused param in periph/spi
cpu, stm32_common: fix unused param in periph/pm
cpu, stm32f3: fix unused params in periph/i2c
cpu, nrf5x_common: fix unused param in periph/gpio
cpu, nrf5x_common: fix unused param in periph/spi
cpu, lpc2387: fix unused params in periph/spi
cpu, cc2538: fix unused params in radio/netdev
cpu, cc2650: fix unused params in periph/uart
cpu, lm4f120: fix unused param in periph/spi
cpu, lm4f120: fix unused params in periph/timer
cpu, lm4f120: fix unused params in periph/uart
cpu, stm32_common: fix unused params in periph/dac
cpu, stm32l0: fix unused params in periph/i2c
cpu, msp430fxyz: fix unused params in periph/uart
cpu, mips: fix unused params
cpu, cc430: fix unused-params in periph/timer
cpu, msp430fxyz: fix unused params in periph/spi
drivers, cc2420: fix unused param
cpu, mips32r2_common: fix unused params in periph/timer
cpu, cc2538: fix unused-param in periph/i2c
cpu, mips32r2_common: fix unused-param in periph/timer
cpu, msp430fxyz: fix unused params in periph/timer
cpu, atmega_common: fix unused params in periph/spi
driver, nrfmin: fix unused params
cpu, cc2538_rf: fix unused params
driver, netdev_ieee802514: fix unused param
cpu, mip_pic32m: fix unused params
cpu, lpc2387: fix unused params in periph/pwm
tests/driver_sdcard_spi: fix unused params
cpu, sam3: fix unused param in periph/pwm
tests/driver_dynamixel: fix unused params, and style issues
cpu, cc430: fix unused param in periph/rtc
cpu, atmega_common: fix unused params in periph/i2c
2017-11-28 14:36:01 +01:00
smlng
e381317fbf
make: fix sign-compare errors
...
cpu, nrf5x_common: fix sign-compare in periph/flashpage
drivers, periph_common: fix sign-compare in flashpage
cpu, sam0_common: fix sign-compare error in periph/gpio
cpu, cc2538: fix sign-compare in periph/timer
cpu, sam3: fix sign-compare in periph/gpio
cpu, stm32_common: fix sign-compare in periph/pwm
cpu, stm32_common: fix sign-compare in periph/timer
cpu, stm32_common: fix sign-compare in periph/flashpage
cpu, nrf5x_common: fix sign-compare in radio/nrfmin
cpu, samd21: fix sign-compare in periph/pwm
cpu, ezr32wg: fix sign-compare in periph/gpio
cpu, ezr32wg: fix sign-compare in periph/timer
drivers, ethos: fix sign-compare
sys, net: fix sign-compare
cpu, atmega_common: fix sign-compare error
cpu, msp430fxyz: fix sign-compare in periph/gpio
boards, msb-430-common: fix sign-compare in board_init
driver, cc2420: fix sign-compared
sys/net: fix sign-compare in gnrc_tftp
driver, pcd8544: fix sign-compare
driver, pn532: fix sign-compare
driver, sdcard_spi: fix sign-compare
tests: fix sign_compare
sys/net, lwmac: fix sign_compare
pkg, lwip: fix sign-compare
boards, waspmote: make CORECLOCK unsigned long to fix sign_compare error
tests, sock_ip: fix sign compare
tests, msg_avail: fix sign compare
tests, sock_udp: fix sign compare
boards: fix sign-compare for calliope and microbit matrix
2017-11-28 11:55:48 +01:00
George Hopkins
ebd525306a
cpu/stm32_common: consider timer multiplier for PWM
2017-11-10 17:25:13 +01:00
Hauke Petersen
87200c4803
cpu/stm32: removed file guards from periph drivers
2017-11-09 16:27:24 +01:00
f697d0d859
cpu: stm32_common: rename rtt_lptim.c -> rtt.c
...
This ensures that the rtt code is made available by depending on
periph_rtt.
2017-11-06 12:01:19 +01:00
a20745b6c5
cpu: make use of Makefile.periph
2017-11-06 12:01:19 +01:00