Commit Graph

1483 Commits (04a76b3882c60fa0686eb03470b5da5a98f52fa4)

Author SHA1 Message Date
Jamie Smith 9c65ad95cc
Bugfix: LPC1768 IAP could not copy flash to flash (#156)
* Bugfix: LPC1768 IAP could not copy flash to flash

* Add flash to flash test for flash API

* Fix style

* Style again

* Augh again
2023-04-26 19:20:19 -07:00
Ladislas de Toldi 3176fc7ca5
mbed-ce@master + fixes + gcc 11 support (#135)
* Fix rtos::Mutex stub, add trylock() method

* LowPowerTicker - Add ::attach(...) method + call callback

* mbed_power_management - rename sleep --> mbed_sleep to avoid conflicts

Fixes conflicts w/ unistd.h and boost::ut

* GCC 11/C++ 20 - Remove deprecated type_traits

* GCC 11/C++ 20 - Remove redundant templating of methods

* Warning - pragma ignore invalid-noreturn for unit tests

* Fix astyle errors

* Fix missing mbed_sleep() calls
2023-02-21 09:04:34 -08:00
Jamie Smith 280d40c5c7
Update for Doxygen 1.9.5 (#119)
* Update for Doxygen 1.9.5

* Also update doxygen version in docs.yaml

* Also fix Doxygen version in basic_checks.yaml
2023-01-03 21:26:26 -08:00
Jamie Smith 97c267219a
Fix all Doxygen errors and make any future errors fatal (#118)
* Start working on fixing doxygen warnings

* Upgrade doxyfile to Doxygen 1.9.1

* Clean up some unmatched groups and add some exclusions

* Fix docs for rtos::ThisThread not showing up

* Fix up KV store docs

* Fix incorrect @files, some more incorrect groups

* Fix lots of broken links

* Start fixing mbedtls groups

* Fix more mbedtls docs

* Fix remaining mbedtls files with missing or incorrect grouping

* Fix a huge amount of PSA docs errors

* Fix a few more mbedtls docs errors

* Fix __cplusplus not defined for docs, clean up call in callback typedef, fix some docs errors

* Fix some broken doc links in HAL headers

* Fix more PSA doc errors

* Fix some doxygen errors in networking code

* Fix lots of network related doc errors

* Try and fix some CI failures

* Use Doxygen Action instead of doxygen in Mbed container to get the right version

* Try removing docs check

* Add first part of doxygen action

* Add next part of doxygen action

* Fix yaml syntax error

* Add in license check fix

* Try using verbose scancode

* Fix some more docs issues, workaround scancode-toolkit#3179

* Clean up the LoRaRadio get_state() function on each implementation.  Also fix some other compile and doc errors.

* Fix all remaining doxygen errors

* Fix escaping, for realsies this time

* Remove Doxygen unsupported config options, fix some more get_status() declarations

* Fix some UNITTESTS build errors

* Fix one more compile error

* Another unittest error
2022-12-30 18:41:41 -05:00
Jamie Smith 5b28f5bc96
Rethink STM32 I2C v2 HAL (#78)
* Initial attempt at rethinking the STM32 I2C v2 HAL.  Makes single-byte work properly and adds a new 'state' variable to track what the hardware is doing.

* Fix some initial test failures

* Fix incorrect logic

* Fix more incorrect logic

* Tabs to spaces

* Fix repeated starts with single-byte API

* Fix race condition causing stop() after nacked address to sometimes break things

* Fix missed i2c structs that should have been removed

* Fix doing a repeated start from single-byte to transaction API causing I2C peripheral to lock up

* Fix xferOperation being set wrong for repeated starts, causing the peripheral to hang

* Fix race condition with repeated start after single-byte operation

* Fix compilation for targets that use I2C IP v1

* Fix initialization of XferOperation for API v1, optimize stop()

* Remove unneeded line

* Add docs for I2C events
2022-11-20 17:46:30 -08:00
Jay Sridharan 961632a860
Clean up group/module definitions in doxygen (#97)
* Clean up group definitions in doxygen

* remove THIRD_PARTY_DOCS

* some stragglers

* fix astyle formatting
2022-11-12 23:27:50 -08:00
Jamie Smith 72832c7bba
Add upload method support for MIMXRT1050 EVK (#84) 2022-11-06 16:13:10 -08:00
Jamie Smith 022d4f472e
Fix hal-sleep-manager test on nRF52 and clean it up in general (#74) 2022-10-16 12:31:59 -07:00
Jamie Smith ffc33676d1
Lots of usability improvements for the I2C API. Better docs and new top-level functions. (#64)
* Lots of usability improvements for the I2C API.  Better docs and new top-level functions.

* Document frequencies

* Tabs to spaces

* More style fixes

* Run astyle

* Clean up docs

* Add note about addressing, change 10 bit to 11 bit

* Fix spellcheck

* Fix paste error

* Oops, fix accidental change
2022-10-02 21:27:33 -07:00
Jamie Smith 60a3a4e524
Fix overflow issue causing common tickers test to intermittently fail (#57)
* Fix overflow issue causing common tickers test to intermittently fail (#44)

* Tabs -> spaces
2022-09-25 09:09:17 -07:00
Jamie Smith 42fd5beb2c Oops fix tabs 2022-09-14 00:25:31 -07:00
Jamie Smith b93af1b95c Disable mbed semihosting interface in tests, so as not to mess up their timing 2022-09-14 00:25:31 -07:00
Jamie Smith 69c1d4a55a Rename inconsistently named testing-related variables. Also fix STM32CUBE not working from application code. 2022-09-14 00:25:29 -07:00
Jamie Smith 093be4d431 Provide MBED_RAM_SIZE define allowing greentea tests to compile 2022-09-14 00:25:27 -07:00
Jamie Smith 50667c88d7 Provide MBED_RAM_SIZE symbol for MUSCA_S1 2022-09-14 00:25:26 -07:00
Jamie Smith 290c2a3df5 Add more missed test skips 2022-09-14 00:25:26 -07:00
Jamie Smith ca6685346d Fix some tests that weren't being skipped 2022-09-14 00:25:26 -07:00
Jamie Smith c21525621d Fix typo preventing unification test from running 2022-09-14 00:25:25 -07:00
Jamie Smith 000c7c73c1 Convert the rest of the hal tests, convert mbedtls to an OBJECT library 2022-09-14 00:25:25 -07:00
Jamie Smith 967cccb1e4 Fix a few more HAL tests 2022-09-14 00:25:25 -07:00
Jamie Smith 87625ba033 Enable reset_reason HAL test 2022-09-14 00:25:25 -07:00
Jamie Smith c11d32fbf4 - Split mbed-core and mbed-rtos into -sources and -flags targets
- Fix some logic errors in top level cmakelists related to building greentea tests
- Fix mbed_create_distro() for OBJECT libraries
2022-09-14 00:25:25 -07:00
Jamie Smith 63aa3360c0 Clean up top-level build file and build options, fix build issues on MinGW 2022-09-14 00:25:25 -07:00
yutotnh 7fe679c72e
fix: typo in pwmout_api.h (pulsewitdth -> pulsewidth) 2022-06-22 00:00:29 +09:00
Hari Limaye f4e5359710 GPIO: Use uintptr_t for gpio_irq_api context
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.

In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
2022-01-26 18:12:52 +00:00
Jerome Coutant 12f3d9dec9 pin_names-arduino_uno test : UART test case update 2021-10-01 15:12:38 +02:00
Hari Limaye b493a15a53 CAN: Use uintptr_t for can_irq_ids
The HAL can_api stores an array of IDs in order to dispatch interrupts
to the correct CAN object. The drivers level CAN Class casts a pointer
to itself to an uint32_t, which is stored as the ID and then cast back
to a CAN * in order to call the correct handler. This results in
compilation failure when the size of an object pointer is greater than
uint32_t, for example when building on a PC for unit testing.

In order to allow Unit Testing of the CAN Class, we replace the use of
uint32_t with uintptr_t (type capable of holding a pointer), which
allows portability and expresses intentions more clearly. In aid of this
latter goal, we also replace the use of the name "id" with "context",
to improve clarity. These are addresses of the context related to that
callback.
2021-09-17 13:36:43 +01:00
Martin Kojtal faf87374f9
Merge pull request #15018 from jeromecoutant/PR_FLASHTEST
hal-tests-tests-mbed_hal-flash compilation warning
2021-08-24 09:52:14 +01:00
Martin Kojtal 513f581bce
Merge pull request #15012 from felser/MTS_DRAGONFLY_L496VG
Add platform MTS_DRAGONFLY_L496VG
2021-08-24 09:50:58 +01:00
Jerome Coutant 8d16ab32fe hal-tests-tests-mbed_hal-flash compilation warning 2021-08-20 17:05:59 +02:00
Leon 4b27aef0ae Add platform MTS_DRAGONFLY_L496VG 2021-08-18 12:03:48 -05:00
Hari Limaye 9491403f43 Unit tests: Add stubs for analogin_api.c functions
Currently there are no stub implementations of the analogin_api.c
functions. As the AnalogIn class makes use of these functions, these
stub definitions are required in order to build AnalogIn.cpp and
generate .gcno files to be used to generate code coverage metrics.
2021-08-16 10:13:11 +01:00
Robert Walton 7842320ab7 CMake: Add option to enable greentea tests
Add an option to enable the greentea tests independently from the unit
tests.

We can't just use the typical BUILD_TESTING option to enable greentea
tests. BUILD_TESTING enables unit tests and fetches googletest, which
are compiled for the host. Greentea tests are cross compiled and require
a toolchain file. For this reason we add a new option just to enable
greentea tests, preventing build failures triggered by the unit tests
and googletest.
2021-08-10 16:35:11 +01:00
Lingkai Dong 578843067b Unit tests: Fix pin validation failure
The test script pinvalidate.py requires the following which are
missing in the unit test stub PinName.h:
* A comment "MBED TARGET LIST"
* `CONSOLE_TX` and `CONSOLE_RX` in the `PinName` enum

This commit adds them.
2021-08-02 17:42:43 +01:00
Lingkai Dong dca2aa79a0 Unit tests: Remove redundant CMake target mbed-headers-base
Individual libraries' `target_h` stub headers have now all been moved
from `mbed-headers-base` to `mbed-headers-<library>`.

Note: Even though headers previously in `target_h` are technically
stubs/fakes too, they are used by not only unit tests but also regular
libraries when compiled for unit tests, because no target-specific HAL
implementation exists in this case. In order for regular library
sources to pick up `target_h` headers, those headers must

* have the same names as regular headers
* appear first in include paths

This is why those headers are part of `mbed-headers-<library>` and not
`mbed-stubs-<library>`. Before this refactoring, `mbed-headers-base`
was the first in unit tests' include paths.
2021-08-02 17:42:43 +01:00
Lingkai Dong 6731f553ce Unit tests: Fix style in hal gpio_object.h stub 2021-08-02 17:42:43 +01:00
Lingkai Dong 825e3491b0 Unit tests: Move hal target_h stubs
Stubs previously in UNITTESTS/target_h/ have the same names as
regular Mbed OS headers, intending to override the latter directly.
We move hal target_h stubs into hal/tests/UNITTESTS/doubles/.

Note: In Mbed OS, the standard include format requires each header to
be prefixed with its module name, for example "hal/gpio_api.h". This
requires headers to be organized in a module directory. But unit tests
stubs for hal correspond to what a real Mbed target would have
implemented (in a non-test scenario), and targets do not currently put
headers in hal/, so we similary put stub headers directly in
hal/tests/UNITTESTS/doubles/ instead of add a hal/ subdirectory there.
2021-08-02 17:42:43 +01:00
Jerome Coutant 97cd8e928d pinvalidate.py script: add deprecated ARDUINO test 2021-07-22 13:55:52 +02:00
Jerome Coutant 77e7720cb0 pinvalidate.py script: add SPI and I2C alias check
Goal is to follow
hal/include/hal/PinNameAliases.h
2021-07-22 13:55:52 +02:00
Jerome Coutant 616a84f370 pinvalidate.py script: remove spaces 2021-07-22 13:55:52 +02:00
jeromecoutant 971d0dd3bd pin_names-generic test update before skipping it 2021-07-06 17:13:45 +02:00
Rajkumar Kanagaraj 26c608b241 CMake: Remove --coverage link option from mbed-stubs-hal
The --coverage flag globally set in UNITTESTS/CMakeLists.txt
and configuring the same option again in mbed-stubs-hal is
redundant so remove it
2021-07-01 06:07:31 -07:00
Rajkumar Kanagaraj fe0298a1a3 CMake: unit-tests: Make hal stubs only depend on headers it uses
Previously the hal stub library depended on `mbed-headers`, which
is a collection of all available headers in mbed-os. To make it easier
to separate the library, only depend on the headers we're using.
2021-07-01 06:07:31 -07:00
Rajkumar Kanagaraj bf06897b8f CMake: unit-tests: Move mbed-headers-hal to the hal directory
Move the header-only mbed-headers-hal library the unit test stubs
depend on into the hal component directory. This makes the events
stubs more self-contained and improves the composition of the library.
2021-07-01 06:07:31 -07:00
Rajkumar Kanagaraj 84bb4cc6b9 CMake: Move hal stubs sources to the mbed-os/hal directory
Move the hal stubs into the hal component directory.
so we can avoid duplicating the mbed-os source tree in a central
UNITTESTS folder.
2021-07-01 06:07:31 -07:00
Jaeden Amero b5c2f7079e
Merge pull request #14718 from Meano/develop
Feature: Make changes for Cortex-A5 support
2021-07-01 10:23:41 +01:00
Jaeden Amero 043d1735a1
Merge pull request #14837 from LDong-Arm/K64F_pin_names
K64F: Fix pin names and migrate to Arduino Uno form factor
2021-06-30 09:15:54 +01:00
Hari Limaye f95052cf6f CMake: Require TEST_SOURCES in greentea CMake file
Assumption that greentea test file is always named main.cpp is
incorrect. Updated mbed_greentea_add_test() macro to make TEST_SOURCES
parameter compulsory, which is used to specify greentea test
file(s). This allows tests to use C, or have a different name.
Therefore also updated all pre-existing greentea test CMake files to
explicity add main.cpp to TEST_SOURCES.
2021-06-29 13:33:42 +01:00
Hari Limaye 3e71692b27 CMake: Remove unnecessary CMakeLists.txt
CMakeLists.txt file in /hal/tests/TESTS/mbed_hal_fpga_ci_test_shield
directory was non-functional as it used the greentea_add_test macro,
which expects a main.cpp in current directory, but no main.cpp exists
there. I checked with @rajkan01 who confirmed that this CMake file is
serving no purpose and is there erroneously. All tests in subdirectories
of this directory have their own CMakeLists.txt that successfully build
them.
2021-06-29 13:32:57 +01:00
Hari Limaye 8b020f6ead CMake: fix incorrect relative path for MBED_PATH
MBED_PATH set to /platform directory incorrectly. Updated to set to
/mbed-os directory.
2021-06-29 13:32:48 +01:00