Commit Graph

753 Commits (75513154d2c3737ea4663eb0bf45c5e549891863)

Author SHA1 Message Date
Anna Bridge 891805b42e
Merge pull request #14662 from AGlass0fMilk/can-message-comparison-operators
Add CANMessage deep comparison operators
2021-05-25 14:05:03 +01:00
Anna Bridge e0069d8b9a
Merge pull request #14678 from ghseb/uartserial-shadowing-2
Serial: remove shadowing member variables
2021-05-24 13:20:11 +01:00
Anna Bridge 4e586a93d3
Merge pull request #14426 from ARMmbed/feature_unittest_refactor
CMake: Refactor UNITTESTS CMake
2021-05-24 13:04:22 +01:00
Sebastian Stockhammer 77b5ffc2f6 Remove shadowing member variables
- The variables shadow SerialBase::_tx_enabled and SerialBase::_rx_enabled
- Update interrupts when input/output is enabled to avoid infinite congestion
- Update comments
2021-05-19 09:01:06 +02:00
George Beckstein b9f2367271 Add CANMessage deep comparison operators 2021-05-18 08:33:22 -04:00
Martin Kojtal 3af058af8b i2c: `start()` should aquire the bus
From the history it looks like aquire was not added explicitely to start. I do not see
why as it's the condition that must be sent when communication is initiated.

write/read/transfer invoke `aquire()`
2021-05-18 12:28:13 +01:00
Martin Kojtal c02e101e9f
Merge pull request #14336 from AGlass0fMilk/polymorphic-can
Implement polymorphism for CAN driver
2021-05-12 10:17:28 +02:00
Rajkumar Kanagaraj 2bafdf82e7 CMake: Refactor drivers unittest cmake 2021-05-11 02:29:56 -07:00
Rajkumar Kanagaraj ba04c1cf76 CMake: Add add_subdirectory of unittests
- add every libraries unittest directory into respective CMake
  which allows to include unittest source into build based on
  MBED_BUILD_UNITTESTS flag
2021-05-11 02:29:56 -07:00
Martin Kojtal e18d280ede
Merge pull request #14588 from Patater/mbed-libs-for-m55
Add v8.1-M architecture awareness
2021-05-10 15:13:33 +02:00
George Beckstein d39a4168ec Replace NonCopyable in CAN inheritance.
This commit moves the deletion of copy constructor and copy assignment operators to the `mbed::interface::can` class, where both `mbed::CAN` and `mbed::interface::CAN` inherit enum types from. This allows `NonCopyable` to be removed from the inheritance list.
2021-05-07 21:02:34 -04:00
George Beckstein d79446c0da Fix astyle CI failures 2021-05-06 02:09:54 -04:00
George Beckstein 49e58ddab6 Make interface::CAN buildable on targets without DEVICE_CAN
This commit adds provisions to enable using interface::CAN on targets that don't have DEVICE_CAN set to 1 (ie: they don't normally have a CAN peripheral).
2021-05-04 02:23:51 -04:00
George Beckstein d6104c8194 Enable inheritance of CAN enum types
This commit changes the `interface::can` namespace to a `struct`. This allows the enum types to be inherited and prevents breaking old code relying on referencing eg: `CAN::RxIrq`.

When enabled, the polymorphic CAN interface class inherits from this `interface::can` struct. If not enabled, the `mbed::CAN` class inherits from `interface::can` directly.

Co-authored-by: Vincent Coubard <vincent.coubard@arm.com>
2021-05-04 01:29:20 -04:00
George Beckstein be077713b3 Implement polymorphism for CAN 2021-05-04 01:11:32 -04:00
Martin Kojtal 331473a706
Merge pull request #14589 from plan-do-break-fix/Typo-corrections
fix(docs): corrects various typos in project documentation
2021-04-28 13:36:37 +01:00
plan-do-break-fix 915b45af23 fix(docs): corrects various typos in project documentation 2021-04-23 23:31:11 -05:00
Jaeden Amero 5d20374bc3 Add v8.1-M architecture awareness
Add v8.1-M architecture awareness to Mbed CRC, HAL, and Mbed Atomic.

Fixes #14433
2021-04-23 15:01:16 +01:00
Lingkai Dong 42c3c927de Fix DeviceKey documentation regarding RoT
Since the commit

    0e7a53c DeviceKey Root of Trust generation refactored.

the Root of Trust is not automatically generated anymore.
2021-04-15 12:15:50 +01:00
Anna Bridge 0742135fd1
Merge pull request #14457 from ARMmbed/uart-stdio-alias
Update UART pin names & add MBED_CONF_TARGET_STDIO_UART overrides
2021-03-26 15:17:58 +00:00
Anna Bridge dddd6341f5
Merge pull request #14437 from ARMmbed/qspi-fix
Remove ownership/acquire in QSPI/OSPI driver
2021-03-26 14:52:52 +00:00
George Psimenos 8600157f62 Replace USBTX/RX 2021-03-24 15:00:53 +00:00
George Psimenos cd5330e5a9 Replace USBTX/RX everywhere else 2021-03-24 10:11:30 +00:00
Martin Kojtal 96e19afdd1
Merge pull request #14396 from LDong-Arm/tfm_os_wrapper
TF-M: Switch to vanilla TF-M's OS wrapper
2021-03-22 12:06:04 +01:00
George Psimenos 0b4fdb5e70 Remove ownership in OSPI driver 2021-03-18 17:12:19 +00:00
George Psimenos a28a8684c9 Remove ownership in QSPI driver 2021-03-17 13:26:25 +00:00
Lingkai Dong 6c405d2492 USB: use fully-qualified RTOS include paths
The Arm Compiler is case sensitive and unable to distinguish
between `Thread.h` from Mbed OS RTOS and `thread.h` from TF-M's
OS wrapper, for example. This resolves compilation failures due to
wrong includes.

To resolve this, use the fully-qualified include paths for the
RTOS API.
2021-03-17 09:41:56 +00:00
George Beckstein 78cfad97d8 Remove virtual from interface operator definitions 2021-03-09 13:22:14 -05:00
George Beckstein 78e33b0926 astyle fixes 2021-03-09 13:01:06 -05:00
George Beckstein 326f5bb898 Implement polymorphism for DigitalInOut
Co-authored-by: Vincent Coubard (pan-) <Vincent.Coubard@arm.com>
2021-03-09 13:01:06 -05:00
George Beckstein 2e6a5522d2 Implement polymorphism for DigitalOut 2021-03-09 13:01:06 -05:00
George Beckstein c64091519f Implement polymorphism for DigitalIn 2021-03-09 13:01:06 -05:00
Martin Kojtal e6565a4486
Merge pull request #14031 from arduino/blockdevices_namespaces
BlockDevices: specify mbed namespace where needed
2021-02-04 20:08:07 +00:00
Rajkumar Kanagaraj 6824b14e48 CMake: rename greentea test macro 2021-02-02 07:43:40 -08:00
Oliver Wildtgrube 6b0215c687 fix namespaces for MBED_NO_GLOBAL_USING_DIRECTIVE feature
added namespaces in various files
2021-02-02 12:49:11 +01:00
Harrison Mutai 619ca54735 Remove lock from enable_* function overrides 2021-01-21 11:09:50 +00:00
Harrison Mutai 0214a156e7 Implement override of enable_* functions 2021-01-21 10:20:49 +00:00
Harrison Mutai 7b8ca37bd7 Add declaration to expose enable_* functions from SerialBase
UnBufferedSerial is missing a declaration to expose enable_input and
enable_output, which are inherited from the private base class Serial
Base. Add the using-declaration to the class definition.
2021-01-19 14:28:54 +00:00
Martin Kojtal aef93ca7c9
Merge pull request #14020 from pea-pod/stm-spi-more-bits
Add SPI bitwidths to ST targets where supported
2021-01-15 10:01:28 +00:00
pea-pod e1c754b179 Add SPI bitwidths to ST targets where supported 2021-01-11 07:53:07 -06:00
Rajkumar Kanagaraj 20fb74f829 Add CMake support 2021-01-05 09:10:05 -08:00
Ahmet Alincak 9eec40873b Add internal subfolder to USBDriver's CMakelists
To build USB Drivers for targets which have USBDevice attribute,
subfolder added as header file path.
2020-12-18 13:54:59 +03:00
Hugues Kamba 5082e957e2 CMake: Remove TODO note in device_key list input source file
The Device Key API is a security API that relies on storage. It is not a storage API
2020-12-16 11:47:51 +00:00
Anna Bridge 9f18c445ee
Merge pull request #13908 from LDong-Arm/kvstore_libraries
Restructure KVStore to one library per store type
2020-12-11 13:41:16 +00:00
Martin Kojtal be295e42a4
Merge pull request #13917 from LDong-Arm/move_SFDP
Move SFDP to blockdevice
2020-12-10 13:03:23 +00:00
Lingkai Dong c2cc43875a CMake: add missing linkages of storage libraries 2020-12-09 17:26:32 +00:00
Lingkai Dong 386926615c CMake fix: SFDP already moved to BlockDevice 2020-12-09 17:26:32 +00:00
Lingkai Dong 8ba64c4139 Update include paths 2020-12-09 17:20:42 +00:00
Martin Kojtal 4c94b4b495
Merge pull request #14005 from kjbracey-arm/teinsert
Correct/clarify TimerEvent::insert documentation
2020-12-09 14:18:06 +00:00
Kevin Bracey cf66a6ed13 Correct/clarify TimerEvent::insert documentation
There was much confusion over the functionality of the original
`TimerEvent::insert` call which was described as "Set relative timestamp
of the internal event".

This then extended to my Chrono conversion, meaning the new `insert`
call is not equivalent.

Clarify the original documentation, correct the deprecation messages,
and add more notes on conversion.

No functional change, as the new Chrono API makes more sense - it's just
different from the old API.

Problem actually spotted when I saw the strange code `convert_timestamp`
was producing for the 32-bit->64-bit timestamp conversion. The caller of
it was actually making the mistake of issuing
"TimerEvent::insert(rel_timeout)`, meaning they'd also misunderstood the
documentation, and were not getting the timeout they expected.

(Chrono would have prevented that mistake as durations and time points
are incompatible types).
2020-12-07 16:28:52 +02:00
Lingkai Dong 562b31ccd3 Move SFDP unit tests 2020-12-07 12:05:07 +00:00
Lingkai Dong 5d2fbdc11e Move SFDP into blockdevice where it belongs to 2020-11-26 17:31:31 +00:00
Martin Kojtal 61e4b55a22
Merge pull request #13947 from LDong-Arm/erase_algorithm_fix
Fix erase type determination for [Q/O/]BlockDevice::erase()
2020-11-26 15:53:03 +00:00
Lingkai Dong c41f7cb864 Fix integer type warnings in SFDP and *SPIFBlockDevice 2020-11-26 10:28:58 +00:00
Lingkai Dong fb0f9687e4 Initial unit test for SFDP
As a starting point, only sfdp_iterate_next_largest_erase_type(),
which the pull request is intended to fix, is tested. More test
cases shall be added in the future.
2020-11-26 09:55:47 +00:00
Lingkai Dong e0bd9a1c6a sfdp_iterate_next_largest_erase_type: return -1 if no erase type is applicable 2020-11-25 13:34:01 +00:00
Lingkai Dong ac86aff928 sfdp_iterate_next_largest_erase_type: do not modify type_mask
The supported erase types of a given flash region are indicated
in bitfields of the variable `type_mask`. Even if an erase type
is unused for the current chunk (e.g. size too large, unaligned, etc.),
its bitfield should NOT be cleared - the same erase type might
actually be useful for the next chunk.

The function argument is now a value instead of a reference.
2020-11-24 18:07:34 +00:00
Martin Kojtal 57bbb4739b
Merge pull request #13085 from pea-pod/remove-deprecated-mbed-assert
Change MBED_STATIC_ASSERTs version for built-in
2020-11-24 13:38:07 +00:00
Lingkai Dong 52627dbc59 sfdp_iterate_next_largest_erase_type: fix size check and add alignment check 2020-11-23 15:45:43 +00:00
Evelyne Donnaes b7c6bd34f5 Updated CMakeLists.txt 2020-11-12 15:34:47 +00:00
Evelyne Donnaes 30e9050f10 Moved USB greentea tests 2020-11-12 14:57:01 +00:00
Evelyne Donnaes 9964212f9e Moved USB drivers under drivers/usb 2020-11-12 14:57:00 +00:00
Martin Kojtal f333c3ead1
Merge pull request #13699 from boraozgen/bugfix/sfdp-find-addr-region
Fix sfdp_find_addr_region algorithm
2020-11-12 08:43:02 +00:00
Martin Kojtal e8a3282181
Merge pull request #13816 from pennam/patch-stm32-usbhs-pull
STM32: allow HS USB endpoints and increase USB OTG_HS endpoints number
2020-11-11 08:27:19 +00:00
Martino Facchin db7954bc9b STM32: allow high speed USB endpoints 2020-11-10 17:22:28 +01:00
Hugues Kamba 794e32df74 CMake: Use relative paths to list source files and directories
The absolute path is still required for listing linker
files as they are referenced from a function in the top
level CMake input source file.
2020-11-09 12:32:30 +00:00
Rajkumar Kanagaraj e7c0d93ad4 CMake: add mbed-os and mbed-baremetal targets
mbed-os consists of mbed-core and mbed-rtos
mbed-baremetal consists of mbed-core

The main change is for mbed-core. Changing from object library to be interface. This way it allows us to do the above to have 2 main targets for users to use.

This should be backward compatible change as mbed-os target we used contains the same files/options as previously set.
2020-11-06 17:25:22 +00:00
Hugues Kamba bf84a5b329 CMake: Rename CMake targets
* mbed-os renamed mbed-core
* mbed-os-<COMPONENT> renamed mbed-<COMPONENT>
2020-11-06 17:25:22 +00:00
Hugues Kamba fa98689639 CMake: Componentize Mbed OS into multiple CMake targets (#13732)
Aside from the core mbed-os CMake target, a number of targets have been created so they can optionally be included by application executables that require them using `target_link_libraries()`.

Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: Rajkumar Kanagaraj <rajkumar.kanagaraj@arm.com>
2020-11-06 17:25:21 +00:00
Hugues Kamba f12f9adbed CMake: Fix failures due to device_key and storage dirs move 2020-11-06 17:25:19 +00:00
Hugues Kamba e744208c07 CMake: Fix build failure due to drivers and lwipstack dirs move 2020-11-06 17:25:18 +00:00
Hugues Kamba 840828947d CMake: Add support for drivers dir 2020-11-06 17:25:15 +00:00
Bora Özgen 7f0716ad60 Fix sfdp_find_addr_region algorithm
sfdp_find_addr_region() was causing issues with SPI
flashes with sector table parsed from SFDP (in
particular SST26VF016B).

In particular, it was returning -1 when address 0 is
passed (probably also if the address in the first
region). I do not know why the search algorithm is
written to search from the higher to lower regions,
but it was obvious that it would fail for the first
region. Also it was harder to read due to the index
manipulation.
2020-11-03 14:23:02 +01:00
pea-pod 507181d262 Change MBED_STATIC_ASSERTs version for built-in 2020-10-27 08:30:40 -05:00
Harrison Mutai 4fad1112e5 Add SPDX license identifier to Arm files
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
2020-10-15 10:47:27 +01:00
Martin Kojtal 21652971a5
Merge pull request #12644 from macronix/macronix_ospi
Add OSPI driver to support the Octa mode of Macronix octaflash MX25LM51245G
2020-09-30 16:07:20 +01:00
Martin Kojtal d829ac3fa8
Merge pull request #13649 from LDong-Arm/mbed-trace-default
Make mbed-trace available to bare metal
2020-09-22 16:24:18 +01:00
Lingkai Dong 7a8460a759 drivers/SFDP: mbed-trace header is now always available
This reverts commit 183ca7729c.

Now the "mbed_trace.h" header is always available and maps
trace functions to dummy macros when tracing is disabled.
2020-09-21 15:40:38 +01:00
Rajkumar Kanagaraj 19908b2b21 Refactor hal, platform, rtos docs 2020-09-17 16:03:43 +01:00
rogeryou 48524f25ae add opsi driver 2020-09-16 11:27:23 +08:00
Martin Kojtal 468372e759
Merge pull request #13492 from talorion/fix-PwmOut-resets-after-suspend
Fix pwm out resets after suspend
2020-09-10 12:40:18 +01:00
Martin Kojtal b2ac60924c
Merge pull request #13476 from talorion/bugfix/fix-warnings
Fix trivial compiler Warnings
2020-09-07 09:58:41 +01:00
Martin Kojtal 1778c6d501
Merge pull request #13501 from jeromecoutant/PR_USB_TEST
USB-DEVICE tests: move host scripts
2020-09-07 09:37:41 +01:00
Lingkai Dong 183ca7729c drivers/SFDP should compile without mbed-trace
The library "drivers" is a core one available to bare metal.
It should not depend on mbed-trace which is an optional library.
2020-09-02 15:50:25 +01:00
talorion 6625bdb9f3 fixed resets after suspend 2020-09-02 13:39:16 +02:00
Lingkai Dong af1950fb16 Add include/ path for mbed-trace 2020-09-02 12:30:59 +01:00
Lingkai Dong a88438ce04 Move mbed-trace into platform 2020-09-02 12:30:59 +01:00
jeromecoutant f9832cb3be USB_DEVICE MSD test skipped when RAM is limited 2020-08-27 11:13:21 +02:00
jeromecoutant ccece2fdee Move USB host tests 2020-08-27 11:13:16 +02:00
talorion a721767c00 fixed warnings: comparison of integer expressions of different signedness 2020-08-24 15:34:20 +02:00
Anna Bridge 4ba1a5433f
Merge pull request #13433 from LDong-Arm/refactor_device_key
Refactor device_key
2020-08-24 12:56:10 +01:00
Lingkai Dong 2f92378642 Move TESTS/usb_device -> drivers/tests/TESTS/usb_device 2020-08-14 17:57:13 +01:00
Lingkai Dong 3681a874e6 Restruture device_key
Restructure device_key to have
* include/device_key - header
* source - source file
* tests/TESTS - Greentea test
2020-08-14 17:31:11 +01:00
Lingkai Dong ccacd5caf6 Move device_key into drivers 2020-08-14 17:16:40 +01:00
George Psimenos bb5c2cf32a Duplicate host tests for drivers 2020-07-31 10:04:36 +01:00
George Psimenos 0a759aaa38 Move drivers greentea tests 2020-07-31 10:04:36 +01:00
George Psimenos 973c1dc2ff Move drivers unit tests 2020-07-31 10:04:36 +01:00
George Psimenos 009f91e2cc Move drivers headers 2020-07-31 10:02:47 +01:00
Martin Kojtal f20f93a648
Merge pull request #13333 from gpsimenos/gp-events-restruct
Events directory restructuring
2020-07-29 12:44:17 +01:00
George Psimenos 76f37fb2bc Restructure events directory & move tests 2020-07-28 09:17:19 +01:00