Commit Graph

699 Commits (56cb1582bef242d8a5c47fa67ef04c86de858fb3)

Author SHA1 Message Date
Martin Kojtal 10ea63b8e7 Ticker: add fire interrupt now function
fire_interrupt function should be used for events in the past. As we have now
64bit timestamp, we can figure out what is in the past, and ask a target to invoke
an interrupt immediately. The previous attemps in the target HAL tickers were not ideal, as it can wrap around easily (16 or 32 bit counters). This new
functionality should solve this problem.

set_interrupt for tickers in HAL code should not handle anything but the next match interrupt. If it was in the past is handled by the upper layer.

It is possible that we are setting next event to the close future, so once it is set it is already in the past. Therefore we add a check after set interrupt to verify it is in future.
If it is not, we fire interrupt immediately. This results in
two events - first one immediate, correct one. The second one might be scheduled in far future (almost entire ticker range),
that should be discarded.

The specification for the fire_interrupts are:
- should set pending bit for the ticker interrupt (as soon as possible),
the event we are scheduling is already in the past, and we do not want to skip
any events
- no arguments are provided, neither return value, not needed
- ticker should be initialized prior calling this function (no need to check if it is already initialized)

All our targets provide this new functionality, removing old misleading if (timestamp is in the past) checks.
2017-07-13 12:23:25 +01:00
Jimmy Brisson b38c85cafe Merge pull request #4525 from fahhem/patch-1
Improve the startup code on the STM32F070
2017-07-10 12:04:42 -05:00
Jimmy Brisson 3d86959dd8 Merge pull request #4485 from kegilbert/f429_sdk_flash_driver-rebase
Replace CMSIS flash driver by SDK flash driver
2017-07-10 12:03:03 -05:00
Jimmy Brisson e0f56d1ab7 Merge pull request #4659 from jeromecoutant/PR_F767
Add the correct startup s file in TARGET_STM32F767
2017-07-06 10:18:08 -05:00
Jimmy Brisson d382d44f06 Merge pull request #4529 from LMESTM/issue_1083
Manage multiple instances of analog out
2017-06-30 13:53:46 -05:00
adustm 90bc8ca7ae Replase CMSIS flash driver by SDK flash driver 2017-06-29 14:25:27 -05:00
adustm 4860e6a485 Rebase of: cb3907ef70
typo in flash_s struct
2017-06-29 14:24:40 -05:00
adustm e7fb5b4edd Rebase of: dfd0cf63e9
fix STM32F439 flash HAL
2017-06-29 14:24:40 -05:00
adustm 64e902edda Rebase: 0d1c6c2d34
This commit completely rewrote flash_api.c in a few places so kicked out changes from Master and accepted the branch changes.

F429 + F439 : changes after code review
GetSector has been rewritten
2017-06-29 14:24:40 -05:00
adustm 565c3c11ad Allow UBLOX to use SDK flash driver 2017-06-29 14:24:40 -05:00
Jimmy Brisson 9b082fff55 Merge pull request #4656 from LMESTM/update_flash_comments
Correct comments in flash api for STM32 L0 targets
2017-06-29 11:09:23 -05:00
Jimmy Brisson 0c5fc5b05a Merge pull request #4641 from LMESTM/Increase_STM32L0_analogin_sampling_time
Increase L0 ADC sample time
2017-06-29 11:09:03 -05:00
Jimmy Brisson d52ed5394c Merge pull request #4632 from 0xc0170/fix_stm32_32bitticker
STM32: fix us ticker set event timestamp double ISR possibility
2017-06-29 11:08:42 -05:00
Jimmy Brisson 041737b248 Merge pull request #4577 from MultiTechSystems/xdot-enable-hsi
XDOT_L151CC: enable HSI after waking from stop mode so ADC functions
2017-06-29 11:07:17 -05:00
Jimmy Brisson ea5c2cf328 Merge pull request #4421 from jeromecoutant/PR_CONFIG_CLOCK
STM32 : Clock source selection in json config file
2017-06-29 11:04:24 -05:00
Jimmy Brisson 88268bd3eb Merge pull request #4625 from adustm/PULL_REQUEST_CUBE_UPDATE_F7_V1.7.0
Update STM32F7 cube from v1.6.0 to v1.7.0
2017-06-29 11:04:02 -05:00
jeromecoutant 2ae2d9896e STM32F4: json clock source configuration
- default value is the same as before patch
- system_stm32f4xx.c file is copied to family level with all other ST cube files
- specific clock configuration is now in a new file: system_clock.c
- nvic_addr.h file is now in TARGET_STM level, and can be used everywhere
2017-06-29 09:57:40 +02:00
jeromecoutant b5ef7a675a Add the correct startup s file in TARGET_STM32F767 2017-06-28 17:13:02 +02:00
Jimmy Brisson bb3bedad79 Merge pull request #4638 from bcostm/fix_cmsis5_disco_l475vg
DISCO_L475VG_IOT01A: Fix startup files for cmsis5
2017-06-28 09:20:05 -05:00
Laurent MEUNIER c5d76a2950 Correct comments in flash api for STM32 L0 targets
The initial comments were copied from L4 implementation but do not apply
to L0 targets where 1 sector is composed of a constant number of pages.
2017-06-28 09:41:52 +02:00
Jimmy Brisson e907079456 Merge pull request #4603 from jeromecoutant/PR_OVERRIDE
STM32 : mbed_overrides.c is common for all families
2017-06-27 14:59:24 -05:00
Martin Kojtal 0591b2bcd4 STM32: fix us ticker set event timestamp
While we are handling new timestamp, disable ticker's interrupt.
2017-06-27 09:54:29 +01:00
Laurent MEUNIER ca26db620b Increase L0 ADC sample time
With default sampling time, the MBED2 and CI test shield tests would fail
because the stabilization slope of ADC is relatively slow.
ERROR (out:0.8000) - (in:0.7407) = (0.0593)
ERROR (out:0.9000) - (in:0.8354) = (0.0646)
ERROR (out:1.0000) - (in:0.9289) = (0.0711)

This is related to the 10kOhms resistors used to connect Ain to
Aout mounted on the CI shileds, and internal capacitance of L0 targets.
If connecting Ain and Aout with wires, bypassing the resistors, the test
is passed. So we're increasing the sampling time to let the automated
ci shiled tests PASS.

OK    (out:0.8000) - (in:0.7863) = (0.0137)
OK    (out:0.9000) - (in:0.8869) = (0.0131)
OK    (out:1.0000) - (in:0.9844) = (0.0156)
2017-06-27 10:33:42 +02:00
Laurent MEUNIER 4238216ad8 STM32: STM32F413xH dac_s common definition
Fixing conflict as STM32F413xH target has been merged after the first
version of moving dac_s structure definition to common_ojects.h
2017-06-27 09:30:45 +02:00
Laurent MEUNIER 07575b33f0 STM32: STM32L475xG dac_s common definition
Fixing conflict as STM32L475xG target has been merged after the first
version of moving dac_s structure definition to common_ojects.h.
2017-06-27 09:27:46 +02:00
Laurent MEUNIER 024b3da5f1 STM32: analog_out: generalize code for multiple instance handling
Moving some code in common to be able to manage several ADC instances,
or several channels of an instance.

The change involves:
- moving dac_s structure definition to common_object.h
- create TARGET_STM/analogout_api.c and move fully common analog_out
functions in there
- rename analogout_api.c of each target family into analogout_device.c
to keep platform specific code
- update analogout_device.c to rely on obj->handle and obj->channel
- align analogout_init function as much as possible between families in
analogout_device.c files
2017-06-27 09:27:46 +02:00
Laurent MEUNIER b51d676dc0 STM32: analog_out: Enable Buffer and switch
ADC1 channel2 and ADC2 of few targets only have an output switch and no
buffer. This switch needs to be enabled, and also the buffer can be enabled
in order to reduce the output impedance on output, and to drive external
loads directly without having to add an external operational amplifier.
2017-06-27 09:27:46 +02:00
Laurent MEUNIER cdd581b244 STM32: analag_out: Use dynamic handle in object rather than static
This allows a proper handling of multiple instances. Also this commit
stores the channel in the HAL format so that it can be re-used more easily
and call to HAL are straightforward.
2017-06-27 09:27:46 +02:00
bcostm 03930b88f6 DISCO_L475VG_IOT01A: Add missing nvic_addr.h file 2017-06-26 20:14:08 +02:00
bcostm 72be051088 DISCO_L475VG_IOT01A: Update system init for cmsis5 2017-06-26 19:04:44 +02:00
bcostm bd6d7382a3 DISCO_L475VG_IOT01A: Update toolchain files for cmsis5 2017-06-26 19:02:52 +02:00
Jimmy Brisson fc39ad1625 Merge pull request #4422 from jeromecoutant/PR_F4_HSE_TIMEOUT
STM32F4 set HSE timeout value to 100ms
2017-06-26 10:29:13 -05:00
Jimmy Brisson d103979e92 Merge pull request #4572 from bcostm/add_usb_disco_l072cz
DISCO_L072CZ_LRWAN1: Add support of USB Device
2017-06-26 10:28:31 -05:00
Jimmy Brisson 50ec6db4d3 Merge pull request #4405 from arostm/Fix_Issue_4404
DISCO_L072CZ_LRWAN1: PC_13 definition missing in PinNames.h fix
2017-06-26 10:21:53 -05:00
Jimmy Brisson 0d2fb2d0a7 Merge pull request #4390 from mickeyln/patch-1
Nucleo-F070RB It doesn't work when use internal clock
2017-06-26 10:20:50 -05:00
Anna Bridge f1d0314783 Merge pull request #4410 from arostm/dev_disco_f413ZH
DISCO_F413ZH: Add new platform
2017-06-23 11:41:50 +01:00
Anna Bridge 55355d7374 Merge pull request #4401 from jeromecoutant/PR_USB_PIN
STM32 : Add USB used pins in PinNames.h files
2017-06-23 11:37:19 +01:00
Anna Bridge 4f5d4f040e Merge pull request #4375 from LMESTM/STM32_SPI_LL
Stm32 spi : use LL API to improve performances
2017-06-23 11:33:55 +01:00
adustm 8058e04238 F7 ST CUBE V1.7.0 2017-06-23 09:49:31 +02:00
arostm b5af4c40ec DISCO_F413ZH: Add include of LL timer file 2017-06-22 09:23:09 +02:00
arostm c0725aa3e8 DISCO_F413ZH: Deleted cmsis_nvic.c and modified cmsis_nvic.h 2017-06-22 09:23:08 +02:00
arostm 9a34c72bc5 DISCO_F413ZH: Remove hal_conf file
The board have to use th hal_conf file from F4/device directory
2017-06-22 09:23:08 +02:00
arostm 46949d054f DISCO_F413ZH: add UART9 and 10 in serial_api.c 2017-06-22 09:23:08 +02:00
bcostm 6426d277d2 DISCO_F413ZH: Change I2C and SPI instances for Arduino default pins
Needed to pass ci-test-shield tests.
2017-06-22 09:23:07 +02:00
bcostm 8e798a9f35 DISCO_F413ZH: typo corrections in peripheralpins.c 2017-06-22 09:23:07 +02:00
bcostm b62005ebb8 DISCO_F413ZH: Fix wrong NVIC RAM end address in IAR icf file 2017-06-22 09:23:07 +02:00
bcostm e8ceb3bfa1 DISCO_F413ZH: correct ram length in GCC ld file 2017-06-22 09:23:07 +02:00
bcostm a89c0ab1c0 DISCO_F413ZH: Add BUTTON1 definition 2017-06-22 09:16:32 +02:00
arostm b862b653d3 DISCO_F413ZH: corrections
- leds definition
- add sw4stm32 exporter
- recomment mco debug
2017-06-22 09:16:32 +02:00
arostm 4a87436db2 DISCO_F413ZH: modifications in peripheralPins.c 2017-06-22 09:16:32 +02:00