Commit Graph

468 Commits (40cf725c11b4b75add262fa9ac52796f7a126ac0)

Author SHA1 Message Date
Rajkumar Kanagaraj 3c0cd62476 fix for spell check and header file 2019-06-03 15:24:01 +02:00
Rajkumar Kanagaraj f94eb3cf13 Fix for the Ci build issue 2019-06-03 15:24:01 +02:00
Rajkumar Kanagaraj 47030cd23f SW watchdog unittest cases
-Added the mock class function to mock mbed_assert_internal
  -Added the unit test case to test start,kick,stop
  -Modified the interface api name from is_alive to process
  -added the unit test cases for process
2019-06-03 15:23:59 +02:00
Rajkumar Kanagaraj bcea865db2 Add SW Watchdog
-SW watchdog has interface name start(),stop(),kick()	Sw watchdog internally has static list and shared across multiple instance of SW watchdog
	- Sw watchdog initialize timeout value,unique string via constructor whenever threads created sw watchdog object
	-Threads make sure pass proper timeout value,Unique string while creating the instance.
	-start() called by components(BLE,WIFI etc.,),it adds the entry into static list with few details current count ,etc.,
	-kick() called by registered components(BLE,WIFI etc.) to reset current count to zero.
        -is_alive - interface API to mbed_watchdog_manager
        -implementation optimization
2019-06-03 15:23:57 +02:00
Rajkumar Kanagaraj 3cd52d4732 Watchdog refactoring to multithreaded thread.
-Added API to register muliple threads to watchdog drivers
-Watchdog timeout reconfigures everytime whenever new register thread with longer timeout period
-New APIs for watchdog
 wd_register(const osThreadId_t tid, const uint32_t timeout) to register to watchdog
 wd_unregister(const osThreadId_t tid) to unregister to watchdog
 kick(const osThreadId_t tid) to refresh the watchdog
2019-06-03 15:23:56 +02:00
George Psimenos f82b7d8229 Improve type cast 2019-05-31 13:59:40 +01:00
George Psimenos 9f66347bd3 Make buffer parameter const 2019-05-28 15:58:19 +01:00
Rajkumar Kanagaraj 95e8e27e9b doxy spell check fix for watchdog 2019-05-24 12:28:23 +02:00
Donatien Garnier 91ef36809f Apply new astyle config style 2019-05-24 12:23:36 +02:00
Donatien Garnier 3ab0fbc7cf Update license headers 2019-05-24 12:23:35 +02:00
Steven Cartmell e7761a1d39 Move watchdog parameter validation into the driver layer 2019-05-24 11:35:22 +02:00
Steven Cartmell 7c392a16d4 Remove window and sleep mode options for watchdog API 2019-05-24 11:35:13 +02:00
Steven Cartmell 8fa38bb25b Add Watchdog driver API 2019-05-24 11:20:26 +02:00
Steven Cartmell 3c18dcb882 Amend reset reason driver API
- Change API to match C++ API throughout drivers
- Amend HAL API documentation to be more specific
2019-05-24 11:20:26 +02:00
Steven Cartmell 366893ae71 Add independent watchdog reference implementation for STM32 2019-05-24 11:20:25 +02:00
Martin Kojtal 64575fe586
Merge pull request #10480 from kjbracey-arm/spi_prime
SPI: Prime asynch transaction buffer on construction
2019-05-14 09:28:41 +01:00
Kevin Bracey 3fbad10337 SPI: Prime asynch transaction buffer on construction
SPI peripherals' asynch transaction buffers are now wrapped by
SingletonPtr, which needs to take the singleton_lock Mutex when first
accessed. If it was first accessed by an asynch transaction started from
IRQ, that would not be possible.

Add a SingletonPtr::get() call to the SPI construction process so that
the peripheral's buffer is fully constructed before any SPI methods can
be called, meaning asynch methods won't fail from IRQ.

(Other pre-existing synchronisation issues with async remain, but this
avoids a new trap in Mbed OS 5.12).
2019-04-25 17:19:01 +03:00
Martin Kojtal 8c696076fc
Merge pull request #10408 from sg-/docs-businout
Update comments and improve readability for the BusInOut class
2019-04-18 18:00:07 +01:00
Amanda Butler 04552a1409
Fix typos in BusInOut.h
Fix typos.
2019-04-17 15:12:19 -05:00
Martin Kojtal 14b9229b13
Merge pull request #10415 from 0xc0170/fix_licenses
rtos/drivers: add license information
2019-04-17 12:26:43 +01:00
Martin Kojtal 5a96f45ce0 license: fix files list 2019-04-16 11:43:14 +01:00
Martin Kojtal 5f985f56dc drivers: add license information 2019-04-16 11:29:14 +01:00
samgrove d88f2d9eed Update comments and improve readability for the BusInOut class 2019-04-15 14:58:24 -05:00
Kevin Bracey 380b27e741 Fix UARTSerial emergency unbuffered write
The length calculation in UARTSerial::write_unbuffered was wrong,
meaning it would truncate output data to half length.

This would show up if `platform.stdio-buffered-serial` was configured to
true, `platform.stdio-convert-newlines` was still false - `mbed_error`
crashes would be garbled.

This wasn't usually spotted because applications generally have both
settings false or both true, and if newline conversion is on, then
`mbed_error_puts` writes 1 character at a time to FileHandle::write,
avoiding the length error.
2019-04-09 16:15:09 +03:00
Cruz Monrreal d2c9d9ddc8
Merge pull request #9111 from embeddedteam103/can_signness_mismatch
CAN: Fix signness mismatch in `CANMessage` constructors
2019-04-01 17:06:09 -05:00
Cruz Monrreal ab22ab8ce3
Merge pull request #10150 from kjbracey-arm/timer_sleepcheck
Timer: remove hard-coded lp_ticker knowledge
2019-03-28 17:09:36 -05:00
Cruz Monrreal d7bec657ef
Merge pull request #10043 from ithinuel/add_vprintf_to_rawserial
add vprintf to Rawserial.
2019-03-28 17:09:29 -05:00
Cruz Monrreal d3db0a8c2d
Merge pull request #9476 from lrusinowicz/asynch_serial_api
Asynchronous Serial API fixes and refactoring
2019-03-28 17:09:22 -05:00
CoolUsername 6f3ad9a93b CR: Add signed overload 2019-03-26 16:11:50 +02:00
Ryan Morse 51a47139f3 Fixed issue with PWM not being freed when the object is destroyed 2019-03-21 07:48:42 -07:00
Kevin Bracey 534a3d2333 Timer: remove hard-coded lp_ticker knowledge
The knowledge that lp_ticker runs in deep sleep was hard-coded with a
comparison check of a ticker_data_t pointer against get_lp_ticker_data.

Remove this hard-coded check, which adds a linker dependency against
the low power ticker even if not being used - put a flag into the
ticker_interface_t.

A future extension might be to move this flag into the ticker_info_t
provided by the HAL, but for the moment keep the assumption that
lp_ticker does run, us_ticker doesn't.
2019-03-20 10:18:49 +02:00
Wilfried Chauveau 8b605069f7
add vprintf to Rawserial. 2019-03-15 07:07:16 +00:00
Martin Kojtal 7c9a71846e
Merge pull request #9469 from kjbracey-arm/spi_muxing
SPI upgrade - per-peripheral mutex and GPIO-based SSEL
2019-03-01 18:38:27 +01:00
Kevin Bracey b12be6bb80 Rename SPI_COUNT to DEVICE_SPI_COUNT
Avoid collision with some HALs that already define SPI_COUNT.
2019-03-01 14:37:04 +02:00
Kevin Bracey df7e3367f7 Cope with HALs not defining SPIName 2019-03-01 14:33:34 +02:00
Kevin Bracey 5e059b7d1d SPI upgrade - per-peripheral mutex and GPIO-based SSEL
This commit takes some of the work done on the SPI class from #8445, and
refines it, to provide the per-peripheral mutex functionality.

This also implements GPIO-based SSEL, which exposes a new
select()/deselect() API for users to group transfers, and should work on
every platform (unlike the HAL-based SSEL). This requires users to use a
new constructor to avoid backwards compatibility issues.

To activate the per-peripheral mutex, the HAL must define SPI_COUNT and
provide spi_get_peripheral_name().  (In #8445 this is a reworked
spi_get_module, but the name is changed here to avoid a collision with
existing HALs - this commit is designed to work without wider HAL
changes).

Fixes: #9149
2019-03-01 14:33:33 +02:00
Kevin Bracey 649856f3ff Implement enable calls in UARTSerial
Implement enable calls so that reception can be shut down to save
power without closing the device.
2019-02-22 11:01:01 +02:00
Leszek Rusinowicz 8586528ff6 Asynchronous Serial API fixes and refactoring, part 3
Updated API documentation to better explain API operation and to explicitly
point out that any event ends the operation.
2019-02-12 17:13:02 +01:00
Leszek Rusinowicz cbb84d8ad3 Asynchronous Serial API fixes and refactoring, part 2
Aborting of asynchronous operation is necessarily hazardous, as
operation can end in interrupt anywhere from the point of decision
until it is actually aborted down the abort_...() method.
Proper deep sleep unlocking requires then use of the critical
section and should be contained completely within API implementation.
2019-02-12 17:09:48 +01:00
Leszek Rusinowicz 6d648092e1 Asynchronous Serial API fixes and refactoring, part 1
1. As RX and TX flows are separate on Serial device, read and write
   functionalities should be completely separate, including any deep
   sleep locking etc.
2. User may want to use asynchronous API without a callback (especially
   for write operations), for example in a command-response scheme
   end of write operation is usually meaningless. The intuitive
   method is to submit NULL pointer for a callback. For this reason
   depending on the _callback field in determining whether the
   operation is in progress seems to be uncertain, so introduced
   additional flags for this purpose.
2019-02-12 17:04:19 +01:00
David Saada 48a3ae9636 FlashIAP driver: Add retries to erase and program operations.
Few boards may fail the write actions due to HW limitations (like critical
drivers that disable flash operations). Just retry a few times until success.
In addition, remove the redundant retries in NVStore (not needed now).
2019-01-30 16:05:27 +02:00
Przemyslaw Stekiel af02b23bf7 Fix for Issue #7308 (Deep_sleep_lock Ticker.h Issue) 2019-01-24 08:22:24 +01:00
kegilbert 70b9b753db Add doxygen spellcheck jobs to Travis
Currently tests
    - drivers
    - platform
    - rtos
    - events
    - features/netsocket
2019-01-11 10:22:15 -06:00
Martin Kojtal ab1c2be997
Merge pull request #8957 from InfernoEmbedded/fix-8913
Fix incorrect #ifdefs on DEVICE_FOO macros
2018-12-20 10:52:06 +00:00
Alastair D'Silva 2617c5d55b Don't use define checks on DEVICE_FOO macros (mbed code)
The DEVICE_FOO macros are always defined (either 0 or 1).

This patch replaces any instances of a define check on a DEVICE_FOO
macro with value test instead.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 10:16:42 +11:00
Alastair D'Silva 24dbfb6b09 Remove #ifdefs for DEVICE_SERIAL & friends
DEVICE_SERIAL is always defined (either 0 or 1).
Remove the faulty checks introduces in commit
26b9a1f6a3 and replace them with
value checks as originally implemented.

Fixes #8913

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 09:42:02 +11:00
David Saada f3bac3451c Fix FLASHIAP_ROM_END macro for GCC_ARM & IAR toolchains
- Consider data section in GCC_ARM toolchain
- Consider init_array section in IAR toolchain
- Rename macro to FLASHIAP_APP_ROM_END_ADDR for clarity sake
2018-12-19 12:05:08 +02:00
embeddedteam103 0210cefa9e Add unsigned everywhere in the driver for
compatibility with the CAN HAL
2018-12-17 16:49:17 +02:00
Martin Kojtal aec8bb6046 drivers: add spdx license 2018-11-28 10:39:50 +00:00
Russ Butler caa7b93921 Rename lock functions and classes
Invert the name of the lock functions and classes so you are not
locking a negative.
2018-11-27 09:29:32 +00:00
Russ Butler 58ed5c2f7d Change MPU lock name for readability in FlashIAP
Change the variable names in FlashIAP from
'xn' to 'make_ram_executable' and from 'wn' to 'make_rom_writable' to
make the code more readable.
2018-11-27 09:29:32 +00:00
Russ Butler 1821d37621 Overhaul MPU for new requirements
Make the following changes:
-Allow a vector specific ARM MPU driver by defining MBED_MPU_CUSTOM
-Allow ROM address to be configured for ARMv7-M devices by
    setting the define MBED_MPU_ROM_END
-Add ROM write protection
    -Add new functions and lock
    -enable at boot
    -disable during flash programming
2018-11-27 09:29:32 +00:00
Russ Butler d27566c955 Rename MpuXnLock
Rename MpuXnLock  to ScopedMpuXnLock so it has the same naming
convention as ScopedMutexLock. Also make this class inherit from
NonCopyable to prevent misuse.
2018-11-27 09:29:32 +00:00
Russ Butler c0ff98614a Disable the MPU when flashing
When programming flash using the FlashIAP API allow execution from
ram. Many devices require flashing to be done from RAM.

Also allow execution from ram when running the low level flash tests.
2018-11-27 09:29:31 +00:00
Martin Kojtal 9aef9d3661
Merge pull request #8671 from mray19027/uart_break
Feature: Add non-blocking serial break/unbreak functions
2018-11-19 13:14:55 +00:00
Martin Kojtal fbdbffffb9 drivers: fix coding style for doxygen 2018-11-15 07:20:11 +00:00
Michael Ray b7559e315c Feature: Added non-blocking serial break/unbreak functions
Current serial implementation has a send_break() command which
sends a break command on the UART for a fixed amount of time.

Added functions to allow users to send a break in a non-blocking
fashion, as well as for a user-specified amount of time.
2018-11-13 12:46:05 -06:00
Deepika a21a4224c5 Docs update in platform folder
1. Remove protected member functions and protected attributes from rendering
   on docs site
2. Update BusInOut doxygen
2018-11-08 17:31:11 -06:00
David Saada 542744d03c Support erase value in Flash HAL drivers, FlashIAP and block devices 2018-11-07 14:23:07 +02:00
Cruz Monrreal 5549c52da2
Merge pull request #8606 from pea-pod/fix-bus-oboe
Fix off-by-one-error in BusIn/Out
2018-11-06 13:43:27 -06:00
William Kelly III 74f72597a8 Fix off-by-one-error in BusIn/Out 2018-10-31 12:28:53 -05:00
Kevin Bracey 3da44f67ce Add format checking to RawSerial::printf 2018-10-31 15:36:32 +02:00
kegilbert e8e9076662 Fix typos in Drivers doxygen 2018-10-30 15:04:54 -05:00
Russ Butler 3b970c179f Move #endif to fix PwmOut.h doxygen
Move the #endif up so it does not include the closing bracket of
PwmOut. This allows the doxygen for PwmOut, classmbed_1_1_pwm_out.html,
to build.
2018-10-29 10:52:30 -05:00
Cruz Monrreal II b364dcb48e Merge branch 'doc-fix-spi' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-26 11:43:01 -05:00
Mel W fae81b698b
One more missing period. 2018-10-26 10:45:38 +03:00
Mel W 782251a089
Adding periods 2018-10-26 10:45:05 +03:00
Cruz Monrreal II ec9404a32e Merge branch 'fix_doxygen_MBedCRC' of ssh://github.com/maciejbocianski/mbed-os into rollup 2018-10-25 21:49:45 -05:00
Christopher Haster fa09fff283 Fix interleaved ifdefs with DEVICE_SPI_ASYNCH + DOXYGEN_ONLY 2018-10-25 11:33:17 -05:00
Paul Szczepanek 889a98e4f5
Update SPI.h 2018-10-25 11:34:30 +01:00
Martin Kojtal e9f98906d7 crc: fix crc mode coding style 2018-10-25 09:58:17 +01:00
paul-szczepanek-arm efdcdd5450 active voice 2018-10-24 09:56:53 +01:00
paul-szczepanek-arm d4b6fdc1ec SPI capitalisation 2018-10-24 09:26:10 +01:00
paul-szczepanek-arm 68628c1178 fix syntax err from misplaced ifdef 2018-10-24 08:49:07 +01:00
Maciej Bocianski 394df128fb MbedCRC doxygen fix 2018-10-24 09:33:37 +02:00
Cruz Monrreal II 0e2983e539 Merge branch 'doc-fix-i2c_slave' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-23 22:38:33 -05:00
Cruz Monrreal II 2274fc8bc1 Merge branch 'doc-fix-spi_slave' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-23 22:38:32 -05:00
paul-szczepanek-arm 263f067da4 imperative 2018-10-23 17:32:03 +01:00
paul-szczepanek-arm 482f2b6d07 spi doxygen fixes 2018-10-23 17:26:38 +01:00
Amanda Butler 7637c61d9d
Edit SPISlave.h
Make minor edits to existing text.
2018-10-23 09:20:22 -05:00
Amanda Butler 7fa3a44cc3
Copy edit I2CSlave.h
Make minor copy edits.
2018-10-23 09:13:52 -05:00
paul-szczepanek-arm f9ae6a37b1 hide protected 2018-10-23 14:49:37 +01:00
paul-szczepanek-arm 68929ce94b doxygen cleanup 2018-10-23 14:47:25 +01:00
paul-szczepanek-arm 52a0b649bc fix documentation and example 2018-10-23 12:03:59 +01:00
Thomas Kemmer fdc675441a Clean up UARTSerial.cpp includes. 2018-10-21 15:35:40 +02:00
Cruz Monrreal II 660bc2d446 Merge branch 'doc_fix_pwm' of ssh://github.com/TacoGrandeTX/mbed-os into rollup 2018-10-18 20:01:39 -05:00
Cruz Monrreal II 9cd5cbdb15 Merge branch 'writeathon' of ssh://github.com/yennster/mbed-os into rollup 2018-10-18 20:01:37 -05:00
Cruz Monrreal 6ce8f2fce8
Merge pull request #8421 from TacoGrandeTX/doc_fix_portout
PortOut.h: Documentation improvements only
2018-10-18 12:28:18 -05:00
Cruz Monrreal e698f0b29f
Merge pull request #8076 from kjbracey-arm/error_stderr
Error output improvements
2018-10-18 08:39:17 -05:00
Cruz Monrreal 4600c85611
Merge pull request #8442 from evva-sfw/bug/missing-define
Add missing define in drivers/SerialWireOutput.h
2018-10-17 09:33:18 -05:00
Kevin Bracey c989845d5a mbed_error_vfprintf -> mbed_error_vprintf
Name vfprintf doesn't make sense - if we have mbed_error_printf, this is
vprintf.
2018-10-17 12:55:20 +03:00
Kevin Bracey 1094c08129 Add support for UARTSerial::write from critical section 2018-10-17 12:55:20 +03:00
Cruz Monrreal 996a31f9d8
Merge pull request #8419 from TacoGrandeTX/doc_fix_portin
PortIn.h: Documentation improvements only
2018-10-16 16:18:50 -05:00
welaZat 88f30ccbbb Added missing define in drivers/SerialWireOutput.h 2018-10-16 14:11:15 +02:00
Jenny Plunkett 383798b525 Revert "Remove note about Stream/Serial deprecation"
This reverts commit 5ee5b071ab.
2018-10-15 14:42:45 -05:00
Cruz Monrreal ec03df4823
Merge pull request #7980 from kjbracey-arm/thread_deprecations
Clean up rtos::Thread deprecation warnings
2018-10-15 10:09:55 -05:00
Cruz Monrreal e0e915f5db
Merge pull request #8423 from cmonr/rollup2
Rollup PR: Additional doc PRs + lingering need:CI PRs
2018-10-15 10:04:04 -05:00
Cruz Monrreal II 46e4cb2b9d Merge branch 'doxy-rm-protected' of ssh://github.com/ARMmbed/mbed-os into ARMmbed-doxy-rm-protected 2018-10-12 21:46:57 -05:00
RFulchiero 7ea75edc7c PortOut.h: Documentation improvements only
* Improve function and parameter descriptions
2018-10-12 17:11:06 -05:00
RFulchiero bdcf24b82f PortIn.h: Documentation improvements only
* Improve function and parameter descriptions
* Improve clarity of the example
2018-10-12 16:14:32 -05:00
kegilbert e51169e3c8 Remove protected members from doxy in Analog/Digital classes
- Add example snippets to Analog/Digital read/write overrides
2018-10-12 15:08:51 -05:00
Amanda Butler 19472ff154
Copy edit I2C.h
Edit existing text.
2018-10-12 14:56:01 -05:00
Naveen Kaje 19c91081c6 I2C.h: Update documentation, example and formatting
Change the example to a more elaborate implementation.
Fix formatting and update documentation.
2018-10-12 13:50:53 -05:00
Jenny Plunkett b31bc766e6
Add note about default baud rate is 9600 2018-10-12 13:40:23 -05:00
Jenny Plunkett 5ee5b071ab Remove note about Stream/Serial deprecation 2018-10-12 13:22:49 -05:00
Jenny Plunkett 9a7f359ab5 Add (Not Connected) 2018-10-12 13:22:14 -05:00
RFulchiero a6a2852f13 Documentation improvements only
- Prevent protected attributes from appearing on docs site.
- Standardize units of time (microsecond, millisecond).
- Improve example description.
2018-10-12 13:21:18 -05:00
Jenny Plunkett 20f913a06e Remove Serial protected member functions and attributes 2018-10-12 13:20:02 -05:00
Jenny Plunkett 84dad6ce53 Remove RawSerial protected member functions 2018-10-12 13:18:11 -05:00
Naveen Kaje acabbebdb4 I2C.h: Remove protected attributes from appearing on docs site 2018-10-12 12:08:09 -05:00
Cruz Monrreal II 9489972a3e Merge branch 'timer_doc_update' of ssh://github.com/naveenkaje/mbed-os into naveenkaje-timer_doc_update 2018-10-12 12:07:25 -05:00
Cruz Monrreal II bfc3c95905 Merge branch 'ticker_doc' of ssh://github.com/aashishc1988/mbed-os into aashishc1988-ticker_doc 2018-10-12 12:07:19 -05:00
Cruz Monrreal II 8ebfafe60d Merge branch 'interruptin_doc_update' of ssh://github.com/naveenkaje/mbed-os into naveenkaje-interruptin_doc_update 2018-10-12 12:07:17 -05:00
Cruz Monrreal II b7e022d659 Merge branch 'kegilbert-patch-1' of ssh://github.com/ARMmbed/mbed-os into ARMmbed-kegilbert-patch-1 2018-10-12 12:07:14 -05:00
Cruz Monrreal II b480a892b0 Merge branch 'doc_updates' of ssh://github.com/deepikabhavnani/mbed-os into deepikabhavnani-doc_updates 2018-10-12 12:07:12 -05:00
Amanda Butler 985cd70243
Edit InterruptIn.h
Make minor grammar edits.
2018-10-12 11:19:34 -05:00
Amanda Butler be4985e87e
Edit Ticker.h
Make minor copy edits to existing text.
2018-10-12 11:16:32 -05:00
Amanda Butler 648eb39f74
Copy edit Timer.h
Copy edit existing text for minor grammar issues.
2018-10-12 11:01:11 -05:00
Aashish chaddha a9ce00bb4d fixed a mistake where I was adding "can not supprted" error at wrong place 2018-10-12 10:16:32 -05:00
Naveen Kaje 615ae0b2ec Timer.h: Update comments 2018-10-12 10:09:36 -05:00
Aashish chaddha f0a4451054 fix critical bug where I was hiding a lot more class members than i should. Add "CAN_NOT_SUPPORTED" guard to header instead of example 2018-10-12 10:01:38 -05:00
Naveen Kaje feb3833e4b Timer.h: Remove protected attributes from rendering on docs site 2018-10-12 09:51:53 -05:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Aashish chaddha a92066858b improve ticker doc 2018-10-11 17:05:35 -05:00
Naveen Kaje 3ab4f76d4c InterruptIn.h: Update comments 2018-10-11 16:40:18 -05:00
Naveen Kaje 0235838be8 InterruptIn: Remove protected attributes from rendering on docs site 2018-10-11 16:18:09 -05:00
Kevin Gilbert a28d1c0cfc
Fix minor typo 2018-10-11 15:17:27 -05:00
deepikabhavnani 7b7576feb2 Correct the param descritions of QSPI 2018-10-11 14:41:18 -05:00
Aashish chaddha 21136cafcc improve can documentation 2018-10-11 12:39:46 -05:00
deepikabhavnani 1918904e91 QSPI: Remove protected member functions from rendering on docs site, but keep them in the code. 2018-10-11 10:12:39 -05:00
Cruz Monrreal fd4f47d18f
Merge pull request #8109 from deepikabhavnani/i2c_recovery
Add reset recovery for I2C bus
2018-10-08 10:27:04 -05:00
Martin Kojtal ea2dec01be
Merge pull request #8090 from deepikabhavnani/spi_4969
Cleanup SPI constructor and destructor
2018-10-05 11:17:56 +02:00
Martin Kojtal 9b0e5346cc
Merge pull request #7975 from tkem/fix/timer-read-range
Use high resolution time for Timer::read().
2018-10-01 11:46:18 +02:00
Martin Kojtal 3d94fb889b
Merge pull request #7903 from tkem/fix/cleanup-include-paths
Clean up include paths.
2018-09-19 12:16:09 +02:00
deepikabhavnani 0ef5d92d92 Addressed review comments 2018-09-14 10:26:03 -05:00
deepikabhavnani 0a9ff20658 Cleanup SPI constructor and add destructor
_acquire() is not required in constructor, since we are not performing
any operation on SPI bus yet. Just initialize the pins/hw

Destructor is required to clear _owner else SPI format/frequency will not be
set if object is recreated. We do not free SPI bus, but init again in hardware
may or may not change frequency/format.

```
{
    SPI spi1(...);
    spi1.transfer(...);
}
{
    SPI spi1(...);
    spi1.transfer(...);
}
```
2018-09-12 17:22:30 -05:00
Deepika ccb08a3fa1 Added reset recovery for I2C
Hardware Reset API should do the recovery of I2C bus,
but in absence of reset pin connected to slave device we need
software recovery of I2C bus.
2018-09-12 16:36:12 -05:00
Martin Kojtal acb59c4538
Merge pull request #7991 from maciejbocianski/qspi_driver_docs_fix
fix example code in QSPI.h
2018-09-07 10:47:42 +02:00
Cruz Monrreal 2ec889f580
Merge pull request #8015 from maciejbocianski/qspi_driver_fixes
QSPI driver: API parameters fix
2018-09-06 17:07:34 -05:00
Maciej Bocianski 99be98c8d0 QSPI driver: API parameters fix 2018-09-06 09:00:09 +02:00
Maciej Bocianski ff9ef2bbb9 fix example code in QSPI.h 2018-09-05 15:43:29 +02:00
Thomas Kemmer 9c4ec9cfae Use high resolution time for Timer::read(). 2018-09-03 20:54:27 +02:00
Christopher Haster 43651dfcdf
CRC: Removed assertion on NULL buffer
When length is zero, the buffer is not accessed. The CRC functions are used
inside several other layers where a 0-length buffer may have meanings in
different contexts and being able to pass 0-length NULL buffers to CRC as a
noop simplifies the code.
2018-09-03 09:20:47 -05:00
Deepika 4d7fdfc2a9 Use MbedCRC for LittleFS (0xEDB88320)
CRC used in LittleFS is Reversed ANSI, hence new polynomial added.
Reversed polynomials perform shift in reverse direction of standard
polynomial, and we do not have option to notify reverse shift to hardware.
Hence this option is available in software only.
2018-09-02 15:25:40 -05:00
Cruz Monrreal 1e3e69463f
Merge pull request #7781 from deepikabhavnani/crc_safety
Add thread safety to CRC class
2018-08-29 15:42:23 -05:00
Cruz Monrreal 3f5cd54948
Merge pull request #7891 from tkem/fix/remove-unnnecessary-includes
Remove unused cmsis includes.
2018-08-28 09:09:15 -05:00
Thomas Kemmer a16c374725 Clean up include paths. 2018-08-27 20:47:19 +02:00
Cruz Monrreal e2409bfdfe
Merge pull request #7848 from aashishc1988/CanMessengerBug
Message ID in CAN constructor needs to be unsigned
2018-08-27 10:29:15 -05:00
Thomas Kemmer 59ce33f7e8 Remove unused cmsis includes. 2018-08-25 23:57:16 +02:00
Maciej Bocianski 883ea2f1d1 astyle fixes on QSPI API/driver/tests 2018-08-22 15:02:15 +02:00
Maciej Bocianski ad49388888 QSPI driver: fixes after PR 7783 review
- make QSPI::lock and QSPI::unlock protected
- fix QSPI::_initialize return value
- add assert on QSPI::_initialize failure
- minor comments fixes
2018-08-22 15:02:14 +02:00
adustm 0714ac350f Revert "Dummy cycles count is not an init parameter, but a command parameter."
This reverts commit f1ad089660.
2018-08-22 15:00:21 +02:00
adustm 2b234c2902 Move _mode from QSPI::configure_format to QSPI::QSPI
QSPI::configure_format shall not call initialize function.
This way, QSPI::configure_format can be called any time,
only to change the format of commands.
It must contain only parameters for the commands, not for the Init function
2018-08-22 15:00:20 +02:00
adustm 8d2f426d97 Dummy cycles count is not an init parameter, but a command parameter.
It can change depending on the chosen command, not only at start.
This way we avoid to launch init function and break the internal status variables.
2018-08-22 15:00:19 +02:00
Martin Kojtal d54bac2207 QSPI: add address to command transfer 2018-08-22 15:00:18 +02:00
Martin Kojtal 41453169a0 QSPI: fix memset header file missing 2018-08-22 15:00:17 +02:00
Martin Kojtal 784c473f63 QSPI HAL: add disabled flag to format phase
If phase is being skipped, set disabled to true, otherwise false.
2018-08-22 15:00:08 +02:00
Martin Kojtal b71f2a15ea QSPI: fix alt size NONE instead 0 2018-08-22 15:00:07 +02:00
Martin Kojtal 910f1a8884 QSPI: fix driver style issues 2018-08-22 15:00:07 +02:00
Martin Kojtal 3db3364821 QSPI: fix arguments for write/read when alt is defined
Should be: instr, alt, address or inst, addr or just addr
2018-08-22 15:00:06 +02:00
Martin Kojtal 1557ce37f1 QSPI: remove spaces on empty lines 2018-08-22 15:00:05 +02:00
Martin Kojtal 0612ab2292 QSPI: remove initialize method
Not used anymore, not defined. ctor default initializes the object
2018-08-22 15:00:05 +02:00
Martin Kojtal 6274cd4597 QSPI: fix address size for build qspi command
if address is skipped, used size NONE
2018-08-22 15:00:04 +02:00
Senthil Ramakrishnan 894f8bdf9f Review fixes 2018-08-22 15:00:04 +02:00
Senthil Ramakrishnan 273cf05d92 Minor optimizations and code style fixes 2018-08-22 15:00:04 +02:00
Senthil Ramakrishnan 04ec07c017 Fix bracket placements 2018-08-22 15:00:03 +02:00
Senthil Ramakrishnan d9036865d8 Remove explicit initialize API and coding style fixes 2018-08-22 15:00:02 +02:00
Senthil Ramakrishnan 0f7cc36f69 Changing config and return definitions to adhere to HAL defs 2018-08-22 15:00:02 +02:00
Senthil Ramakrishnan 9deecacc9b Fix code style issues 2018-08-22 15:00:01 +02:00
Senthil Ramakrishnan 16d121c5d2 Review fixes and doxygen changes 2018-08-22 15:00:00 +02:00
Senthil Ramakrishnan 219d0c6e70 QSPI driver implementation 2018-08-22 15:00:00 +02:00
deepikabhavnani 986411ccb0 Add thread safety to CRC class
Thread safety is added to serialize the hardware CRC and will not
impact the software CRC.
2018-08-21 15:26:05 -05:00
Aashish chaddha c07e29bd2a The messageID for CAN constructor needs to be unsigned to avoid unnecessary implicit casting 2018-08-21 12:32:22 -05:00
deepikabhavnani 7885edb671 Template specialization didnt work after addition of default constructor
Template specialization didn't work after addition of default constructor
for unsupported polynomials. Since the argument type and count are same,
compiler always selects the default constructor.
2018-08-14 15:47:44 -05:00
Nir Sonnenschein ec4c33ca80
Merge pull request #7735 from deepikabhavnani/crc_lfs
Optimized CRC implementation - (32-bit ANSI polynomial)
2018-08-14 19:45:03 +03:00
deepikabhavnani f593555cbb Guard hardware related implementation into DEVICE_CRC 2018-08-09 17:28:19 -05:00
deepikabhavnani 531a83ebd2 Add optimized implementation of 32-bit ANSI CRC 2018-08-09 17:27:07 -05:00
David Saada 535b196ab2 FlashIAP: Add a ROM end macro 2018-08-06 15:54:10 +03:00
Kevin Bracey 0f98338153 Improve efficiency and formatting of ITM output
SerialWireOutput was outputting 1 character per 32-bit write to the
ITM stimulus port. This is inefficient, and causes processing problems
with some viewers due to them receiving 3 NUL bytes between each
desired character.

Rework to allow us to be more efficient, and eliminate those NUL bytes:

* Retain existing mbed_itm_send() and clarify it's a single 32-bit write.
* Add new mbed_itm_send_block() that is appropriate for sending
  character data, and modify SerialWireOutput to use it.
* Move "wait for FIFO ready" check to before the write, rather than
  after.

One minor correction - FIFOREADY is a single bit of the register read.
Don't interpret reserved bits.
2018-07-04 10:16:28 +03:00
Martin Kojtal 700e6df834 drivers: astyle update 2018-06-29 10:36:36 +01:00
deepikabhavnani e19f6ac4dd Suppress warning for IAR compiler as well 2018-06-19 11:36:42 -05:00
ccli8 f51d036ecd Fix mbed_crc_ctor is missing in some MbedCRC constructor
This error leaves MbedCRC/_mode uninitialized and may cause mbed-os-tests-mbed_drivers-crc/
Test SD CRC polynomials failed.
2018-06-01 09:49:33 +08:00
Bartek Szatkowski 6e9f04bf2f Rename DEVICE_LOWPOWERTIMER to DEVICE_LPTICKER
That's to match DEVICE_USTICKER.
2018-05-25 12:20:09 -05:00
Steven Cartmell d53ffb7022 HAL CRC: Fix inverted CRC mode selection 2018-05-24 17:51:49 +01:00
Steven Cartmell 8e14b5977b HAL CRC: Add bit width parameter to crc_config_t 2018-05-24 17:51:49 +01:00
Steven Cartmell e1ca2b32fc Add CRC configuration options to HAL API 2018-05-24 17:51:49 +01:00
Steven Cartmell 5847f0c975 Fix CRC class coding conventions 2018-05-24 17:51:48 +01:00
Steven Cartmell e0d98bfe2c Adapt MbedCRC class to support Hardware CRC
- Move CRC polynomial enum into HAL layer, so it's accessible from platform
  implementations

- Add enum to CRC class to indicate which mode the CRC class should use:
  HARDWARE, TABLE, or BITWISE

- Add calls to HAL Hardware CRC API to each of the compute functions when the
  class is in HARDWARE mode.

- Add missing constructor call to template constructor, and remove const from
  delegating constructor.
2018-05-24 17:50:12 +01:00
Cruz Monrreal a301db5d43
Merge pull request #6791 from kjbracey-arm/fcntl
Add POSIX fcntl flag support
2018-05-21 17:17:02 -05:00
David Saada 9cdecf4d5a FlashIAP: Fix problem of programming source buffer not aligned to uint32_t 2018-05-10 12:00:29 +03:00
Kevin Bracey 59f49e2b96 Add `is_blocking()` method to FileHandle
There was no way to check current blocking state, so no way to modify
and restore status.

Also have default FileHandle::set_blocking() used by real files return a
correct error code when asked for non-blocking, and success when asked
for blocking.

These were minor omissions that are required to implement POSIX fcntl
properly.

fixup! Add `is_blocking()` method to FileHandle
2018-05-03 15:38:33 +03:00
Paul Thompson d6c5f16fd3 Eliminate complier warning and remove superfluous call to empty()
Appears when complied with -O3 optimization level

Compile: UARTSerial.cpp
../drivers/UARTSerial.cpp: In member function 'void mbed::UARTSerial::tx_irq()':
../drivers/UARTSerial.cpp:314:31: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
         SerialBase::_base_putc(data);
2018-04-16 07:23:47 -07:00
Martin Kojtal 501953b1a4
Merge pull request #6442 from deepikabhavnani/crc_test
Add test for MbedCRC.h
2018-04-06 10:46:52 +02:00
Martin Kojtal 3328ecd92a
Merge pull request #6531 from SenRamakri/sen_DeprecatedFixes
Fix doxygen comments to reflect the deprecated functions
2018-04-06 10:06:31 +02:00
Russ Butler 1b58e58e1a Fix deep sleep locking for Timeout class
Detach in the Timeout::handler so deep sleep is properly unlocked.
2018-04-03 15:46:10 -05:00
Senthil Ramakrishnan 194b89cce6 Fix doxygen comments to reflect the deprecated functions 2018-04-03 14:10:39 -05:00
Deepika 331620e1d0 Default constructor for template class should be part of header file 2018-03-23 14:55:07 -05:00
Cruz Monrreal 801f27efcf
Merge pull request #6239 from bmcdonnell-ionx/interrupt-in-pin-mode
Interrupt in pin mode
2018-03-23 12:00:36 -05:00
George Beckstein d3ab5c7e59
Added SerialWireOutput to mbed namespace 2018-03-22 12:35:54 -04:00
Brendan McDonnell 8d2214fa6e linebreaks 2018-03-21 11:18:54 -04:00