Commit Graph

1226 Commits (6ee4c7e21963b184b1f93c0bf9375b583dbc9051)

Author SHA1 Message Date
Sam Grove 01e4520548 Merge pull request #4453 from c1728p9/lp_ticker_fix
Safely initialize RTC on kinetis devices
2017-06-07 09:58:49 -05:00
Sam Grove 8232afa53e Merge pull request #4216 from fmanno/issue-4189
STM32s Serial: Correct handling of parity bits
2017-06-06 20:00:19 -05:00
Sam Grove 72de85c62f Merge pull request #4417 from monkiineko/master
STM32: Fix 32-bit us ticker interrupt scheduling
2017-06-06 19:59:52 -05:00
Sam Grove 3c3e35dd44 Merge pull request #4423 from arostm/nucleo_f412zg_remove_hal_conf
NUCLEO_F412ZG: Remove hal_conf file from NUCLEO_F412ZG
2017-06-06 19:59:31 -05:00
Sam Grove 4d7c045753 Merge pull request #4424 from LMESTM/STM32_16bits_tickers
Fix corner cases in STM32 16bit tickers
2017-06-06 19:59:08 -05:00
Sam Grove 6002bdd533 Merge pull request #4439 from sg-/proper-realtek-fix
Proper fix for 1fa30b7403
2017-06-06 16:00:55 -05:00
Russ Butler f749a2990b Safely initialize RTC on kinetis devices
When initializing the RTC on Kinetis devices, handle the case where
the time overflow interrupt is pending and the case where the time
alarm flag is pending. These flags persist across reset and if not
handled will cause a crash when powering up the low power ticker.

This problem manifested as a lp_ticker test failure on the K22F and
K64F on CI only when running a nightly. This problem has been present
but was made obvious by PR #4094 which configures all tickers to
interrupt at least every MBED_TICKER_INTERRUPT_TIMESTAMP_MAX_DELTA
(~31 minutes). This caused the RTC alarm to fire 31 minutes after the lp_ticker
or lp_timeout test and caused the next run of the lp_ticker test to
crash on boot.
2017-06-06 15:30:41 -05:00
Anna Bridge a41e08c7bf Merge pull request #4365 from LMESTM/fix_i2C_pcf_F1F2F4L1
Fix i2c communication with pcf8574 on stm32 targets of f1, f2, f4 and l1 families
2017-06-05 14:41:36 +01:00
Anna Bridge f6d19726b2 Merge pull request #4368 from MultiTechSystems/iar_fix
MTS_DRAGONFLY_F411RE/MTS_MDOT_F411RE: add IAR to post_binary_hook toolchains
2017-06-05 14:40:02 +01:00
Laurent MEUNIER ea2cc1d0e1 STM32 16bits tickers: consider all corner cases in us_ticker_set_interrupt
The present commit comes from monkiineko mbed contributor.
The comments in code explains in details all the possible case and
how they are handled.
2017-06-05 13:12:20 +02:00
Laurent MEUNIER fbfbb5e982 STM32 16 bits ticker: fix grammar issues in comments 2017-06-05 13:12:20 +02:00
Laurent MEUNIER 572a096c08 STM32 16 bits tickers: save useless instance init
TimMasterHandle.Instance initialization can be removed from here,
because it will either have been already done previously,
or it will be done in the us_ticker_init() call immediately below.
2017-06-05 13:12:20 +02:00
Laurent MEUNIER 7bcabf7cc0 STM32 16 bits tickers: remove unused prototype
Since rework, this prototype is not needed anymore.
2017-06-05 13:12:20 +02:00
Laurent MEUNIER 27be2e1884 STM32 16 bits ticker: don't check FLAG just clear it
Not having the check will make the code more efficient.
2017-06-05 13:12:20 +02:00
Laurent MEUNIER 1b684ca4e9 STM32 16 bits tickers, no need to check TIM_FLAG_CC1OF FLAG
Following previous fixes on 16 tickers handling, the overflow flag
condition will not happen anymore, so the work-around in place is
not needed anymore
2017-06-05 13:12:20 +02:00
Laurent MEUNIER 35c68859c0 STM32: 16 bits ticker, fixes in set function and handler
This commit simplifies ticker interrupt set function and handler.

There were issues around the 16 bits timer wrap-around timing as we were
aligning interrupts with wrap-around limits (0xFFFF) and then reading
TIM_MST->CNT again in timer_update_irq_handler which could lead
to crossing case with the wrap-around (TIM_FLAG_UPDATE) case.

Now we're using the 16 lower bits of the timestamp as the reference from
using in set_compare and never changing it. There is also no need to set
comparator again in timer_update_irq_handler. This is more robust and
also more efficient.
2017-06-05 13:12:20 +02:00
Laurent MEUNIER b9b5f0b929 STM32 16bits ticker: rework us_ticker_read()
Move to a single more reliable implementation of us_ticker_read()
There were historically 2 versions of us_ticker_read() implementation.

The one removed here was not reliable because us_ticker_read() can be
called in interrupt context which means that TIM_MST->CNT would have
wrapped around while SlaveCounter is not yet updated. So there is a need
to check the TIM_FLAG_UPDATE inside this function, which was not done in
the implementation that is removed here.
2017-06-05 13:12:20 +02:00
Sam Grove 02bf926ffb Proper fix for 1fa30b7403
Replace #define with typedef
2017-06-04 11:26:21 -05:00
Sam Grove be35b3fb81 spi: Added default spi_master_block_write implementation to REALTEK_RTL8195AM
There is an easy default implementation of spi_master_block_write that
just calls spi_master_write in a loop, so the default implementation
of spi_master_block_write has been added to all targets.
2017-06-03 17:14:11 -05:00
Yuguo Zou 3c3a9a67fe fix STRINGIFY redefining issue 2017-06-03 20:15:05 +01:00
Yuguo Zou fdea7b146c fix icf file misspelling 2017-06-03 20:15:05 +01:00
Yuguo Zou b76c8a93c5 clean up GPL license with APACHE2.0 2017-06-03 20:15:05 +01:00
Yuguo Zou 7602d2749a remove unsupported device_name 2017-06-03 20:15:05 +01:00
Yuguo Zou f71f578435 Switch to rtx2
remove rtx and switch to rtx2
2017-06-03 20:15:05 +01:00
Yuguo Zou c31d5479be fix multiple i2c peripherals possible conflicting issue 2017-06-03 20:15:04 +01:00
Yuguo Zou 92ca664fda Add support for mbed exporter
(uvision, gcc_arm, iar)
2017-06-03 20:15:04 +01:00
Yuguo Zou 4eda93e760 resolve RTWInterface initialization run after error issue 2017-06-03 20:15:04 +01:00
Yuguo Zou e2891647f2 add comment for the delay in analogout_api.c
see analogout_init()
2017-06-03 20:15:04 +01:00
Yuguo Zou 0c046a4c38 improve coding style 2017-06-03 20:15:04 +01:00
Yuguo Zou 005ce58f44 cmsis5\rtx5 put NVIC vector ops in mbed_boot.c 2017-06-03 20:15:04 +01:00
Yuguo Zou e8fd5bbdf4 move archives into target specific directories 2017-06-03 20:15:03 +01:00
Yuguo Zou c160d5b1cd Ported code of CMSIS5/RTX2
temporarily comment out these code to prevent conflict with RTX
2017-06-03 20:15:02 +01:00
Yuguo Zou 6c82b51f78 an I2C fix
an I2C fix for updated CI-test
2017-06-03 20:15:01 +01:00
Yuguo Zou f000eb3401 Restore TCPIP_THREAD_STACKSIZE and thread_stack_main
move some TCPIP stack data to heap;
switch off GDMA for SPI (only for SPI);
TCPIP_THREAD_STACKSIZE and thread_stack_main are identical to ARMmbed
2017-06-03 20:15:01 +01:00
Yuguo Zou c3bf1c5006 remove unused class member from RTWInterface 2017-06-03 20:15:00 +01:00
Yuguo Zou 6f24e9e8e9 Clear Wlan code in permissive-binary-license
These code are put in binary library or they are unused .h files
2017-06-03 20:15:00 +01:00
Yuguo Zou 0430b94896 code style fix #2 2017-06-03 20:14:59 +01:00
Yuguo Zou d18735dd31 code style fix
replace tab with 4 spaces;
remove "#ifndef CONFIG_MBED_ENABLED" code;
make if else pretty;
add comment to PinNames.h;
2017-06-03 20:14:59 +01:00
Yuguo Zou 0650ad1384 greentea heap&stack fix 2017-06-03 20:14:59 +01:00
Yuguo Zou 15d58690e9 fold static variables in RTWInterface.cpp to .h, modify lwipopts.h TCPIP_THREAD_STACKSIZE 2017-06-03 20:14:59 +01:00
Yuguo Zou f87eca8a2b remove sleep_api.c 2017-06-03 20:14:59 +01:00
Yuguo Zou 2dd9415e89 Fold ADC0 into trng; delete comment code 2017-06-03 20:14:58 +01:00
Yuguo Zou ba03499b21 reslove conflict UINT definition between basic_types.h & filesystem 2017-06-03 20:14:58 +01:00
Yuguo Zou 08489e4f18 Fix on Wifi 2017-06-03 20:14:58 +01:00
Yuguo Zou 1141c7a08b fix C++11 warning 2017-06-03 20:14:58 +01:00
Yuguo Zou 680dec521e fix a bug in PWM
PWM period larger than 60ms has significant time error
2017-06-03 20:14:58 +01:00
Yuguo Zou 074dd9f9fd fix a bug brought by previous commit
commit dfe0a97 brought some new problem, this commit fix that
2017-06-03 20:14:57 +01:00
Archcady 3736313c39 Update RTWInterface.cpp 2017-06-03 20:14:57 +01:00
Yuguo Zou dbcd36f242 fix bugs found in CI test
HalTimerOp has been changed to HalTimerOpExt
2017-06-03 20:14:57 +01:00
ianqianting b1d999178a fix wifi example fail issue 2017-06-03 20:14:57 +01:00