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

116 Commits

Author SHA1 Message Date
Hauke Petersen
ad0abdcadd cpus: use default isr_ctx struct in GPIO drivers 2016-01-27 17:00:37 +01:00
Hauke Petersen
7cad2577ed cpu/stm32f1: adjusted to new vendor headers 2016-01-26 23:45:50 +01:00
Victor Arino
82796f9aea cpu/stm32f1: uncrustified spi driver 2015-12-15 17:23:27 +01:00
Victor Arino
f753ce7809 cpu/stm32f1: allow disabling spi peripherals
This allows disabling SPI peripherals even if defined in periph_conf.h
by setting the definition SPI_*_EN to 0.

The peripherals were tested against ifdef which caused to include the
code even if the peripheral was disabled, which was incompatible with
the current spi.h common implementation.
2015-12-15 17:23:27 +01:00
Oleg Hahm
fcb5fbf7f6 Merge pull request #4398 from OlegHahm/stm_header_cleanup
cpu: remove superfluous definitions in ST header
2015-12-08 08:52:23 +01:00
Oleg Hahm
aa3ef774d0 cpu stm32f1 periph spi: simplify condition 2015-12-08 01:48:21 +01:00
Oleg Hahm
20f1750fb6 cpu stm32fX: fix pedantic compiler warnings 2015-12-07 20:28:52 +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
Hauke Petersen
047f7544a4 Merge pull request #4198 from thomaseichinger/pr/fix_4197
stm32f1/i2c: Disable I2C module before initialization
2015-11-17 17:41:33 +01:00
Peter Kietzmann
745320dc41 Merge pull request #4232 from DipSwitch/fix_gpio_read
gpio: Pin direction readout of gpio_read was invalid
2015-11-09 13:18:13 +01:00
DipSwitch
4186e38976 stm32f1/gpio: pin direction readout of gpio_read was invalid 2015-11-06 16:57:10 +01:00
DipSwitch
2e2ec37846 cpu/stm32f1/spi: add SPI peripheral 1 and 2 2015-11-04 13:40:20 +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
59b935bd1e cpu/stm32f1: adapted UART driver 2015-10-27 14:59:38 +01:00
Peter Kietzmann
e539db10ee Merge pull request #4104 from gebart/pr/drop-timer-reset
periph/timer: Drop timer_reset
2015-10-26 08:36:01 +01:00
Hauke Petersen
82c843a000 cpu: removed init_slave from I2C drivers 2015-10-20 16:57:39 +02:00
Joakim Nohlgård
cbaeccdb90 periph/timer: Drop timer_reset 2015-10-17 20:11:03 +02:00
Peter Kietzmann
4e05254eb7 Merge pull request #3893 from haukepetersen/opt_f1_baudcalc
cpu/stm32f1: optimized baudrate calculation
2015-09-30 17:20:08 +02:00
Joakim Nohlgård
98c465008b all: Update @gebart family name, email 2015-09-20 13:47:39 +02:00
Hauke Petersen
6b9ca4d5c0 cpu/stm32f1: optimized baudrate calculation 2015-09-18 12:04:25 +02:00
efbd5518f6 cpu: stm32f1: timer: fix race when combining two 16bit timer values 2015-09-05 12:43:37 +02:00
6c185655c8 cpu: stm32f1: use periph_common SPI functions 2015-08-14 14:46:35 +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
f584bd6921 cpu: stm32f1: fix timer auto reload value
Previously, the auto-reload register was set to TIMERx_MAXVALUE. This is
incorrect, as TIMERx combines two 16bit timers.

This commit fixes the assignment.
2015-07-30 14:35:27 +02:00
Hauke Petersen
6284bbbbe4 cpu/stm32f1: adjusted to changed GPIO interface 2015-06-12 19:10:49 +02:00
Hauke Petersen
9943f51080 global: renamed cpu-conf.h into cpu_conf.h 2015-05-28 15:45:05 +02:00
Joakim Gebart
13832d8e62 everything: Remove filename from @file Doxygen command 2015-05-22 07:34:41 +02:00
haukepetersen
84be07f2ab cpu/stm32f1: fixed uart_init()
- added linebreak to funtion declaration
- fixed saving of callback argument
2015-05-18 21:12:23 +02:00
Hauke Petersen
5893ca8851 cpu/stm32f1: fixed GPIO interrupt cb arg handling 2015-04-15 15:39:57 +02:00
Peter Kietzmann
ebadbd6da3 Merge pull request #2323 from thomaseichinger/i2c_mutex
periph/i2c: added means to make I2C thread-safe
2015-01-20 07:57:20 +01:00
Joakim Gebart
f64c54bf66 stm32f1: Basic implementation of spi_acquire(), spi_release()
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2015-01-19 19:05:31 +01: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
547ddddad2 stm32f1: make function definition match declaration 2014-12-19 15:15:00 +01:00
Thomas Eichinger
18647bb5ac cpu/stm32f1: use correct timer device in timer interrupt 2014-12-03 13:28:55 +01:00
Hauke Petersen
65520865b1 cpu/stm32f1: adjusted to RTT interface changes 2014-11-07 12:29:31 +01:00
Thomas Eichinger
d43367e0a2 cpu/stm32f1: fix wrong bit operation in SPI init 2014-11-06 15:09:35 +01:00
Hauke Petersen
ac2ff23020 cpu/stm32f1: fixes to i2c driver
- fixes BUSY on initialization
2014-11-04 21:09:40 +01:00
Thomas Eichinger
76d0d6c4a2 cpu/stm32f1: fixes for the cpuid driver 2014-11-04 13:11:30 +01:00
Hinnerk van Bruinehsen
9ba980dfd9 cpu: stm32f1 spi: fix typos 2014-10-31 01:24:32 +01:00
Hinnerk van Bruinehsen
aca4724447 lint: fix warnings of possible nullPointer dereferences 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
a5aeaab87b lint: fix unreadVariable warnings 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
2103249815 lint: fix unassignedVariable warnings in stm32f1 2014-10-31 01:24:28 +01:00
Hauke Petersen
56062b0f23 Merge pull request #1872 from thomaseichinger/stm32f1-i2c-multibyte-fix
cpu/stm32f1: fix i2c master read for N=2 and N>2 bytes
2014-10-30 23:24:00 +01:00
Hauke Petersen
e7fbaf3815 cpu: removed NAKED attribute from ISRs
- removed the __attribute__((naked)) from ISRs
- removed ISR_ENTER() and ISR_EXIT() macros

Rationale: Cortex-Mx MCUs save registers R0-R4 automatically
on calling ISRs. The naked attribute tells the compiler not
to save any other registers. This is fine, as long as the
code in the ISR is not nested. If nested, it will use also
R4 and R5, which will then lead to currupted registers on
exit of the ISR. Removing the naked will fix this.
2014-10-30 19:33:32 +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
Fabian Nack
45b3da9be7 cpu - multiple: adapt spi drivers to interface extension 2014-10-16 17:47:10 +02:00
Hauke Petersen
0fed9a438c cpu/stm32f1: added low-level I2C driver 2014-10-15 14:50:14 +02:00
Thomas Eichinger
19db6ded85 cpu/stm32f1:board/iot-lab_M3: fix and cleanup for GPIO low level driver 2014-10-10 11:42:08 +02:00
Thomas Eichinger
a16d326bf0 stm32f1: implement RTT driver 2014-10-09 11:13:06 +02:00
Hauke Petersen
f3d8f05d6e cpu/stm32f1: fixed gpio driver
- changed #ifdef to #if for device filter
- guarded file in case no GPIO device is defined
- added guards around interrupts
2014-10-01 22:01:46 +02:00
Thomas Eichinger
fccfce2d59 stm32f1: implement 32bit hwtimer by cascading two timers 2014-10-01 20:54:14 +02:00
Hauke Petersen
6ee15ea6df cpu/stm32f1: cleanup in SPI driver
- made config more versatile
- added pin configuration to spi_init()
2014-09-30 11:19:16 +02:00
Thomas Eichinger
c83e4cb361 stm32f1: unify UART0 use 2014-09-26 14:16:59 +02:00
Hauke Petersen
d7741efa03 cpu/stm32f1: added missing spi function 2014-09-25 14:25:04 +02:00
Joakim Gebart
21fc1bd7a6 cpu/stm32f1: Reduce scope of ret variable in spi_transfer_bytes.
Reduced scope to inside the while loop as per comments in RIOT-OS/RIOT#1630

Signed-off-by: Joakim Gebart <joakim@gebart.se>
2014-09-03 10:28:33 +02:00
Joakim Gebart
a12b879027 cpu/stm32f1: spi_transfer_bytes proper counting.
The transferred bytes were being counted more than once because of a +=
when calling spi_transfer_byte().

This patch should also handle errors from spi_transfer_byte() better
since it is now possible to detect errors _after_ the first byte has
been successfully sent.

Signed-off-by: Joakim Gebart <joakim@gebart.se>
2014-09-02 17:17:21 +02:00
Thomas Eichinger
0e79a01cd2 stm32f1: SPI: implement speed setting properly 2014-08-21 17:53:38 +02:00
Thomas Eichinger
6b43b3f587 stm32f1: implement new cpuid_get 2014-08-21 17:53:38 +02:00
Thomas Eichinger
c28aebf105 at86rf231: handle rx tx state changes correctly 2014-08-21 17:53:38 +02:00
Thomas Eichinger
b6abdc9519 stm32f1: implement SPI register access functions 2014-08-21 17:53:38 +02:00
Thomas Eichinger
e59bc2eb9d iot-lab_M3: refactor at86rf231 driver 2014-08-21 17:53:37 +02:00
Thomas Eichinger
b86b78bcb2 stm32f1: implement missing UART0 parts 2014-08-21 17:53:37 +02:00
Thomas Eichinger
aaa2c2e8ba boards: initial import of iot-lab_M3 2014-08-21 17:53:37 +02:00
Thomas Eichinger
37611db41c cpu: initial import of stm32f1 2014-08-21 17:53:37 +02:00