Commit Graph

515 Commits (92f3529e2f54d15d0c5c6899d5981a9ba38194ea)

Author SHA1 Message Date
Martin Kojtal 86dad5cda9
Merge pull request #12471 from AGlass0fMilk/adc-voltage-api
Extend AnalogIn API: read_voltage
2020-06-17 19:57:28 +02:00
Wilfried Chauveau dbf206c304
add mbed-os-example-aws to the test build list 2020-06-05 15:36:20 +01:00
Martin Kojtal 37ee008b90
Merge pull request #12961 from MarceloSalazar/remove_nrf51
Remove nRF51 targets
2020-05-15 08:08:26 +02:00
jeromecoutant cda2538bd2 STM32L0 code cleaning 2020-05-14 13:55:32 +02:00
jeromecoutant dd46dfccb2 STM32F4 code cleaning 2020-05-14 13:55:22 +02:00
jeromecoutant f116fe0daa STM32F3 code cleaning 2020-05-14 13:55:21 +02:00
Marcelo Salazar ccd95f1e14 Remove nRF51 targets
The following public nRF51 targets are being removed:

- NRF51822
- NRF51_DK
- NRF51_MICROBIT
2020-05-13 10:36:50 +01:00
Marcelo Salazar 4083469d09 Remove Ublox targets 2020-05-06 16:39:29 +01:00
Martin Kojtal 9501ccd6c7
Merge pull request #12849 from jamesbeyond/exp_update
TEST: Update example test
2020-05-05 14:26:41 +02:00
George Beckstein 2db9917117 Add Vin and Vref to ignore list in spell checker CI 2020-04-30 12:40:17 -04:00
Martin Kojtal 08a09200a6
Merge pull request #12864 from MarceloSalazar/platform_cleanup3
Remove unsupported targets
2020-04-30 14:56:36 +02:00
Martin Kojtal d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
C++ Chrono support
2020-04-30 11:41:43 +02:00
MarceloSalazar 3ed5491ae5 Remove LPC1549 target 2020-04-30 09:56:33 +01:00
MarceloSalazar 5dcfe57c41 Remove LPC4088 based targets 2020-04-30 09:56:32 +01:00
Devaraj Ranganna fd74d678a7 psa: Remove PSA secure binary building tools
The PSA-implementing secure binary is not built using Mbed OS build
tools anymore. Instead, the TrustedFirmware-M (TF-M) build system is
used to produce the secure binary. As such, we remove PSA related hooks
from the build system, remove PSA related scripts from tools/test
folder, and also remove the psa-autogen job from travis which was
running the now unecessary and removed generate_partition_code.py.

Remove the ability to generate new PSA binaries in the old manner, where
Mbed OS implements PSA. We don't yet remove any PSA binaries or break
the currently checked-in Mbed-implemented PSA support. PSA targets
integrated in the old manner will continue working at this point.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:51:14 +01:00
Kevin Bracey f4e0ea2c75 Add Chrono support to Kernel and SysTimer 2020-04-27 10:19:08 +03:00
Qinghao Shi ce88f0ea28 TEST: add log compare test for nfc examples 2020-04-23 20:33:02 +01:00
Qinghao Shi a43394d0d6 TEST: change target that runs filesystem example 2020-04-22 17:41:32 +01:00
Qinghao Shi 1711d2f9a0 TEST: enable wifi example test 2020-04-22 17:38:23 +01:00
MarceloSalazar e78ba7065b Remove MTB_MTS_XDOT target 2020-04-20 16:55:33 +01:00
Martin Kojtal 9835722635
Merge pull request #12691 from hugueskamba/hk_replace_small_lib_with_std_lib
Replace small with std C lib if not supported by a target's toolchain
2020-04-15 10:21:40 +02:00
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
Hugues Kamba 0e5b71fdd7 Replace small with std C lib if not supported by a target's toolchain
Display a post-build warning indicating to the user that the standard C
library was used instead of the small C library if the former is not
supported.
2020-03-31 11:35:40 +01:00
Kevin Bracey 4eda58893e SocketAddress rework
* Add optimised constexpr default constructor. Default construction
  was previously by a heavyweight defaulted `nsapi_addr_t` parameter.
* Remove deprecated resolving constructor.
* Take `nsapi_addr_t` inputs by constant reference rather than value.
* Inline the trivial getters and setters.
* Use `unique_ptr` to manage the text buffer.
* Make `operator bool` explicit.
* Optimise some methods.
* Update to C++11 style (default initialisers, nullptr etc)
2020-03-24 11:05:33 +02:00
Martin Kojtal bb48fa46cd
Merge pull request #12437 from 0xc0170/dev_travis_scancode
travis: add PR license check for missing/not-valid license files
2020-02-24 15:56:07 +00:00
Martin Kojtal 1b4ad98787 scancode: add logger and parse it to get count 2020-02-24 12:03:01 +00:00
Martin Kojtal adaa2b6a0a travis: license check does not fail but report issues
Master branch contains lot of missing SPDX identifiers, we will clean them up but this will take some time. In the meantime, we should not increase the license missing files. Each PR will report if there is no license issue or positive number reported as Github status. Travis won't fail if there are issues. This will highlight the issues that anyone can fix.

As soon as master is clean, we can fix set_status and revert part of this commit.
2020-02-24 12:02:37 +00:00
Martin Kojtal 37a7ff0443 scancode: skip non code files
For instance pdf, or binaries - catch them as an exception and skip for
additional SPDX check
2020-02-21 09:57:30 +00:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Martin Kojtal 0995ece3b2 Add scancode evaluate script
The goal: check license offenders in pull request

This is similar to what astyle does in Travis. We get list of files being changed. Because scancode does not support list of files being scanned but rather a file or directory, we copy files to SCANCODE folder. Execute scancode license check in this folder and check for offenders.

The rules there are: code files must have a license and SDPX identifier. If they don't, we print these and ask for review.

It functions nicely there is just one workaround needed. SPDX is not always 100 percent correctly found, therefore we recheck file if no SPDX manually in the script. This proves to remove false positives.
2020-02-20 09:49:50 +00:00
Rajkumar Kanagaraj 56819fbc53 Remove CPU usage example from CI build 2020-01-30 03:59:36 -08:00
Anna Bridge 7101e92d12
Merge pull request #12303 from rajkan01/fix_micro_lib_warning
Fix ARM compiler warning for microlib
2020-01-24 14:58:18 +00:00
Anna Bridge 8b25c51746
Merge pull request #12226 from JanneKiiskila/target_test_sector_missing
target_test - assert if sectors keyword missing
2020-01-24 11:23:51 +00:00
Rajkumar Kanagaraj fe470d9ff9 Fix build tool test case failure 2020-01-22 09:45:01 -08:00
Rajkumar Kanagaraj 8a0fdd24d9 Rename "default_lib" to "c_lib". 2020-01-17 08:05:48 -08:00
Qinghao Shi ed95987cac TEST: use K64F run example test
- some examples not able run on L475 or F249 target due to missing storage/connectivity capability
- use K64F to run those example test
2020-01-15 22:51:37 +00:00
Janne Kiiskila e20f2d30a2 target_test - assert if sectors keyword missing
Assert it properly and thus give out the target name where the
issue is, rather than just error out with KeyError and leave the
poor sod wondering where exactly the issue is.

Before:
```

=================================== FAILURES ===================================
_____________________________ test_bl_has_sectors ______________________________
    def test_bl_has_sectors():
        """Assert a bootloader supporting pack has sector information"""
        cache = Cache(True, True)
        named_targets = (
            target for target in TARGETS if
            (hasattr(target, "device_name") and getattr(target, "bootloader_supported", False))
        )
        for target in named_targets:
            assert target.device_name in cache.index,\
                ("Target %s contains invalid device_name %s" %
                 (target.name, target.device_name))
>           assert cache.index[target.device_name]["sectors"],\
                ("Device name %s is misssing sector information" %
                 (target.device_name))
E           KeyError: 'sectors'
```

After

```
___________________________________________________ test_bl_has_sectors ___________________________________________________

    def test_bl_has_sectors():
        """Assert a bootloader supporting pack has sector information"""
        # ToDo: validity checks for the information IN the sectors!
        cache = Cache(True, True)
        named_targets = (
            target for target in TARGETS if
            (hasattr(target, "device_name") and getattr(target, "bootloader_supported", False))
        )
        for target in named_targets:
            assert target.device_name in cache.index,\
                ("Target %s contains invalid device_name %s" %
                 (target.name, target.device_name))
>           assert "sectors" in cache.index[target.device_name],\
                ("Target %s does not have sectors" %
                 (target.name))
E           AssertionError: Target NUCLEO_L073RZ does not have sectors
E           assert 'sectors' in {'algorithms': [{'default': True, 'file_name': 'CMSIS/Flash/STM32L0xx_192.FLM', 'ram_size': None, 'ram_start': None, ....on_secure_callable': False, 'peripheral': False, ...}, 'default': True, 'size': 196608, 'start': 134217728, ...}}, ...}

```

This helps you finding the offending target a bit faster.

Kudos to Jammu Kekkonen (jammu.kekkonen@arm.com) to figuring out how to actually
run this test & the assertion.

Ref: Mbed OS issue #12219
2020-01-09 16:50:45 +02:00
Martin Kojtal b943b5f4db
Merge pull request #12179 from jamesbeyond/update_ble
TESTS: Update testing of examples in mbed-os
2020-01-07 11:25:19 +01:00
Rajkumar Kanagaraj e5c6254372 Greentea test :Added the print in the exception handler 2020-01-03 09:36:26 -08:00
Qinghao Shi e957b4f0e0 remove BLE from feature key 2020-01-02 18:48:48 +00:00
Qinghao Shi 8a4d5d0a75 bootloader not support K66F, change back to K64F 2020-01-02 17:17:05 +00:00
Qinghao Shi 4bce603b7d replace K66F with DISCO_L475VG_IOT01A in some example to balancing the test workload 2020-01-01 00:32:52 +00:00
Qinghao Shi 5008753a64 add DISCO_L475VG_IOT01A and remove K66F for ble examples 2020-01-01 00:11:41 +00:00
Qinghao Shi 0e8b7cdf83 add extra ble example to complie test 2020-01-01 00:08:11 +00:00
Rajkumar Kanagaraj 6d081eeb70 Fixed the build tools test case failure,incorporated review comments 2019-12-23 03:54:18 -08:00
Rajkumar Kanagaraj 957dca2082 Enabling small C library option and deprecating uARM toolchain
- By default, Mbed OS build tools use standard C library for all supported toolchains.
   It is possible to use smaller C libraries by overriding the "target.default_lib" option
   with "small". This option is only currently supported for the GCC_ARM toolchain.
   This override config option is now extended in the build tool for ARM toolchain.
 - Add configuration option to specify libraries supported for each toolchain per targets.
 - Move __aeabi_assert function from rtos to retarget code so it’s available for bare metal.
 - Use 2 memory region model for ARM toolchain scatter file for the following targets:
   NUCLEO_F207ZG, STM32F411xE, STM32F429xI, NUCLEO_L073RZ, STM32F303xE
 - Add a warning message in the build tools to deprecate uARM toolchain.
 - NewLib-Nano C library is not supporting floating-point and printf with %hhd,%hhu,%hhX,%lld,%llu,%llX
   format specifier so skipping those green tea test cases.
2019-12-19 10:05:11 -08:00
Martin Kojtal 412a9317de
Merge pull request #12017 from VeijoPesonen/remove_nvstore
NVStore: already deprecated implementation removed
2019-12-05 09:10:30 +01:00
Martin Kojtal 2cf56b8f6d
Merge pull request #11891 from hugueskamba/hk-enable-minimal-printf-in-tools
minimal-printf: Enable using a target configuration parameter
2019-12-04 10:14:54 +01:00
Veijo Pesonen 060a1c6df7 NVStore: deprecated implementation removed 2019-12-03 15:36:31 +02:00
Hugues Kamba d5aef28145 minimal-printf: Enable using a target configuration parameter 2019-12-03 12:31:51 +00:00
Martin Kojtal 57f9a1eea8
Merge pull request #11921 from madchutney/tools/py3-fixes
Updates to tools for Python 3 compatibility
2019-11-27 16:29:50 +01:00
Kevin Bracey 5342f0fa00 Tools: check for GCC 9, rather than 6
Planning to update to supporting GCC 9 as found in GNU Tools for Arm
Embedded Processors 9-2019q4-major.

Newer GCC in particular supports ARMv8-M security extensions, and
link-time optimisation - two areas of interest.

Should be no code changes required, but need to change the warning in
the toolchain script.
2019-11-26 11:52:47 +02:00
Graham Hammond e723571474 Updates to `/tools` for Python 3 compatibility 2019-11-21 15:02:37 +00:00
Anna Bridge 71c6b9aca5
Merge pull request #11872 from jussisip/update_examples
Change mbed-os-example-wifi to build only DISCO_L475VG_IOT01A
2019-11-19 17:03:37 +00:00
Jussi Siponen 1c4a5b9d87 Change wifi example to build only DISCO_L475VG_IOT01A
Currently mbed-os-example-blinky and mbed-os-example-wifi are built for each and every target in Mbed OS. This will change that only DISCO_L475VG_IOT01A is built for mbed-os-example-wifi. DISCO_L475VG_IOT01A was chosen as its one of the wi-fi supported boards and having integrated wi-fi.
2019-11-18 13:46:50 +02:00
Martin Kojtal eab1c2e594
Merge pull request #11796 from hugueskamba/hk-add-minimal-console-to-retarget
mbed_retarget: Add a minimal console implementation to provide basic functionalities
2019-11-13 17:11:27 +01:00
Hugues Kamba 051991fafb mbed_retarget: Add a minimal console implementation to provide basic functionalities
The retarget code allocates an array of FileHandle* for console and file
handling (filehandles). A tiny target only needs a console (putc/getc).
There is no need for file handling.

The POSIX layer and the array of FileHandle* is not required for small
targets that only need a console ; this code is optionally compiled
out if the configuration parameter platform.stdio-minimal-console-only is
set to `"true"`.
2019-11-11 15:14:00 +00:00
Qinghao Shi 667a416a47 TESTS: turn off blinky log compare test due to example changed 2019-11-06 11:21:21 +00:00
Qinghao Shi 6d47ec37fb TEST: turn on sub examples build test 2019-11-01 00:06:21 +00:00
Qinghao Shi e4188b6ad7 TEST: update example.json file 2019-11-01 00:01:36 +00:00
Qinghao Shi 38776fbd99 TEST: add atecc608a example to compilation test 2019-10-31 23:57:14 +00:00
Martin Kojtal 83c4a80082
Merge pull request #11710 from jamesbeyond/exp_github
Update examples testing scripts
2019-10-28 09:50:36 +01:00
Qinghao Shi a211cf16a9 EXAMPLES: temporarily turn off build for NFC examples 2019-10-25 17:33:27 +01:00
Martin Kojtal 5eeeaca670
Merge pull request #11429 from hugueskamba/hk-no-float-validation
Move script to check for floats and make it Python 2 compatible
2019-10-22 09:34:56 +02:00
Hugues Kamba c712d2f6ee Move script to check for floats and make it Python 2 compatible.
All scripts pertaining to example projects tests should be in the same
directory. The test framework uses Python2 therefore this script also needs
to be Python2 compatible.
2019-10-21 14:05:22 +01:00
Qinghao Shi 5100bddc99 EXAMPLES: fix a typo in the path 2019-10-21 12:33:08 +01:00
Amanda Butler 924787fb0f
Edit README.md
Edit file, mostly for formatting and grammar.
2019-10-18 17:04:32 -05:00
Qinghao Shi 61c170f5f9 EXAMPLES: remove default build profiles 2019-10-18 12:41:49 +01:00
Qinghao Shi 59a4ad680d EXAMPLES: add README file 2019-10-17 23:06:11 +01:00
Qinghao Shi 52b4c39496 EXAMPLES: temporarily turn off the complie test for sub example 2019-10-17 01:10:24 +01:00
Qinghao Shi 88d5079504 EXAMPLES: update comments and fix bugs 2019-10-17 00:57:15 +01:00
Qinghao Shi cf02be63ff EXAMPLES: update console output format 2019-10-16 23:46:18 +01:00
Qinghao Shi 6876362689 EXAMPLES: update build_repo function 2019-10-16 18:09:36 +01:00
Qinghao Shi 3f0add7e44 EXAMPLES: update export_repos function 2019-10-16 18:06:24 +01:00
Qinghao Shi 4c5f94075f EXAMPLES: update examples_lib.py
- add logging function
 - update clone function
 - update deploy function
 - update source function
 - add symlink function
2019-10-16 18:00:33 +01:00
Qinghao Shi 640ea73a01 EXAMPLES: improve examples.py cli help messages 2019-10-16 17:52:42 +01:00
Qinghao Shi fa86629ec6 EXAMPLES: add list amd Symlink functions 2019-10-16 17:47:36 +01:00
Qinghao Shi 2f6f066f07 EXAMPLES: update examples.json file
- remove "mbed" and "test-repo-source" key
 - add "sub-repo-example" key as an indicator if an example has sub examples
 - add "subs" key to sotre sub examples names
2019-10-16 17:20:05 +01:00
Qinghao Shi f317753a1d EXAMPLES: add test key for remaining examples 2019-10-16 15:56:10 +01:00
Cruz Monrreal II 70ee402340 Fixed Travis CI issue where jobs were/are getting stalled while fetching packages.
Something on Travis CI's side has changed such that invoking the 'wait' command within a script attempts to wait on some other jobs in addition to those spawned within the CI job.

Workaround is to explicitly collect the PIDs for processes spawned within the script and only wait on those.
2019-10-11 16:06:01 -05:00
Olli-Pekka Puolitaival ff2778f5f6 Fix documentation 2019-09-17 15:26:06 +03:00
Olli-Pekka Puolitaival 350c0eff22 Make able to define build jobs amount when building examples 2019-09-16 13:30:24 +03:00
Qinghao Shi 7203154566 TEST: update compare log file name 2019-09-11 19:01:48 +01:00
Martin Kojtal 0f1962e86d
Merge pull request #11437 from hugueskamba/hk-harmonize-doxygen-grouping
Harmonise Doxygen comments in drivers, events, platform and rtos dirs
2019-09-10 10:56:41 +02:00
Hugues Kamba 5933dec3b7 Harmonise Doxygen comments in drivers, events, platform and rtos dirs
When a Doxygen group has been defined (created), all its needed to add
documentation to that group is `\addtogroup`. Since all the information
about the group is preserved, it is not necessary to mention the group
hierarchy again with `\ingroup`. This PR removes unnecessary Doxygen lines
across the `drivers`, `events`, `platform` and `rtos` directories.

It also ensures that new groups are created with `\defgroup` once and
referenced with `\addtogroup` whenever documentation needs to be added to
an existing group.
2019-09-09 10:59:51 +01:00
Hugues Kamba 074b379439 Correct doxy-spellchecker error message 2019-09-07 21:00:21 +01:00
Olli-Pekka Puolitaival aebda11adf Use very verbose to see more details in case of problem 2019-08-30 09:14:06 +03:00
Mika Leppänen e3f247793a Added PPP directory to astyle ignore and added some spellchecker ignore words 2019-08-20 13:37:12 +03:00
Olli-Pekka Puolitaival ba26bd9cde Python3 fixes 2019-08-16 13:51:21 +03:00
Olli-Pekka Puolitaival aa1d16e871 Python3 fixes 2019-08-15 10:06:41 +03:00
Hugues Kamba 2a9207bbe4 Address comments on workaround for Mbed OS 2 CI build after Public (#11114)
* Modify compilation API to provide a list of paths to exclude from the build.
* `_exclude_files_from_build` becomes a static method
* Replace ternary expression with simple  `if/else` statement
* Make unit test case for dirs exclusion independent of system files
2019-08-02 12:32:40 +01:00
George Psimenos df5baf6031 USB public APIs cleanup (#11034)
The contents of the usb directory were moved to appropriate locations and the usb directory removed.

* Public USB headers moved under drivers/
* Internal USB headers moved under drivers/internal/
* USB Source code moved under drivers/source/usb/
* Moved usb/device/hal/ under hal/usb/
* Moved usb/device/USBPhy/ under hal/usb/
* Merged usb/device/targets/ into targets/
* Separated public and private USB API documentation under Doxygen groups drivers-public-api and drivers-internal-api.
2019-08-02 12:23:47 +01:00
Hugues Kamba bfa1b4dd84 Drivers/Events/RTOS Public and internal APIs cleanup (#10955)
Separate drivers, events, and rtos internal APIs from public APIs.

* Move source files to source subdirs
* Move internal headers to internal subdirs
* Add Doxygen comments for documenting internal and public APIs
* Remove source code from header files in order to remove include pre-processor directives
that included header files not directly used by said header files
* Explicitly include header files instead of implicit inclusions via third-party header files.

Release Notes

This will break user code that was using an internal API as the internal header files have been moved.
This will only break if the user was including the header file using a namespace (i.e #include "foo/bar.h" instead of #include "bar.h"
2019-08-02 12:23:47 +01:00
Kevin Bracey 0bb4c050b7 SingletonPtr: API extensions, make constexpr
* Adjust definition to make the default constructor `constexpr`.
  This permits use in classes that want lazy initialization and their
  own `constexpr` constructor, such as `mstd::mutex`.

* Add `get_no_init()` method to allow an explicit optimisation for
  paths that know they won be the first call (such as
  `mstd::mutex::unlock`).

* Add `destroy()` method to permit destruction of the contained object.
  (`SingletonPtr`'s destructor does not call its destructor - a cheat
  to omit destructors of static objects). Needed if using in a class
  that needs proper destruction.
2019-07-18 20:02:04 +03:00
Volodymyr Medvid 5cc66282dd PSOC6: remove PSA targets 2019-07-08 14:49:26 +03:00
Martin Kojtal 15539e0710
Merge pull request #10749 from jamesbeyond/example_test
Examples: enable more tests for examples
2019-06-09 18:18:37 +01:00
adbridge 366b18ea1f Re-enable complilation for wifi and nanostack examples 2019-06-07 10:50:24 +01:00
Qinghao Shi 31fc1e56f2 Examples: enable more tests for examples 2019-06-03 18:30:42 +01:00
Martin Kojtal 8fc2a3c92a
Merge pull request #10675 from 0xc0170/update-mbedtls-2.18.0-rc1
Update mbedtls 2.18.0 rc1
2019-05-28 20:24:18 +01:00
Martin Kojtal eebc1b9e40 Revert "Check mbed-crypto-example with fork"
This reverts commit ff18a64e00.
Use the official repository
2019-05-27 08:02:55 +01:00