Commit Graph

588 Commits (tools-release-test)

Author SHA1 Message Date
Martin Kojtal c250781de0
Merge pull request #12518 from rajkan01/intin_remove_deprecated
Remove InterruptIn deprecated APIs
2020-02-27 13:23:22 +00:00
Rajkumar Kanagaraj db0bf08e4d Remove the deprecated Ticker APIs 2020-02-27 03:26:12 -08:00
Martin Kojtal 10842f7a57
Merge pull request #12500 from rajkan01/ethernet_remove_deprecate
Remove the deprecated ethernet APIs
2020-02-27 08:46:42 +00:00
Martin Kojtal c966c4242f
Merge pull request #12420 from rajkan01/drivers_remove_deprecate
Remove the deprecated CAN APIs.
2020-02-26 15:09:37 +00:00
Rajkumar Kanagaraj 1002a3ace2 Remove InterruptIn deprecated APIs 2020-02-26 04:22:21 -08:00
Veijo Pesonen c953b656ac SFDP: provides doxygen documentation improvements 2020-02-26 13:44:34 +02:00
paul-szczepanek-arm d19317c64c clarify docs 2020-02-26 11:10:10 +00:00
Martin Kojtal 5969fdf8ef
Merge pull request #12501 from rajkan01/intmgr_remove_deprecated
Remove the deprecated the InterruptManager APIs
2020-02-26 10:49:54 +00:00
Veijo Pesonen ca704a4b3d SFDP: consolidates erase region search
Merges erase region search found from SPIFBlockDevice and
QSPIFBlockDevice. Moves the implementation within the SFDP
component
2020-02-26 12:41:34 +02:00
Paul Szczepanek fdf1c33a1f
allow reconfiguring a running watchdog 2020-02-25 16:12:50 +00:00
Martin Kojtal 32f615e420
Merge pull request #12495 from kjbracey-arm/override_serial
C++11-ify virtualisation in FileHandle + Serials
2020-02-25 16:00:43 +00:00
Martin Kojtal 1c12083949
Merge pull request #12426 from VeijoPesonen/sfdp_split_bptbl
SFDP: consolidation of SFDP parsing [2/n]
2020-02-25 13:57:23 +00:00
Rajkumar Kanagaraj 6eb36f3a8e Remove the deprecated the InterruptManager APIs 2020-02-24 05:32:44 -08:00
Rajkumar Kanagaraj c4a54e38cb The `Ethernet` APIs are no longer supported, so removed header and cpp files and its dependency. 2020-02-24 05:23:21 -08:00
Rajkumar Kanagaraj 692f0a2f24 Removed CAN deprecated APIs 2020-02-24 05:02:15 -08:00
Kevin Bracey c39959ca8b C++11-ify virtualisation in FileHandle + Serials
Use `override` and `final` where appropriate, and eliminate unnecessary
`virtual`.
2020-02-24 10:37:17 +02:00
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Martin Kojtal f1887e875f drivers: fix SDPX identifiers 2020-02-21 07:00:56 +00:00
Veijo Pesonen de22648e76 SFDP: refactoring traces and defines 2020-02-20 09:46:41 +02:00
Veijo Pesonen 107f003af6 SFDP: sanitizes API 2020-02-20 09:46:41 +02:00
Veijo Pesonen 6a60574cf5 SFDP: consolidates sfdp_detect_erase_types_inst_and_size 2020-02-20 09:46:40 +02:00
Veijo Pesonen 2da963b8de Q/SPIFBlockDevice: unifies _sfdp_detect_erase_types_inst_and_size functions 2020-02-20 09:46:40 +02:00
Veijo Pesonen 7d1886ecae SFDP: consolidation of sfdp_detect_page_size 2020-02-20 09:46:40 +02:00
Martin Kojtal 829a3cded3
Merge pull request #12318 from VeijoPesonen/sfdp_split_smptbl
SFDP: Move Sector Map Parameter Table parsing under SFDP module
2020-02-19 15:49:40 +00:00
daniel-starke cb62dcbf83 CAN: fix length calculation in message constructor
The two types of the CANMessage constructor accepting a data buffer have two issues. First, they limit the input buffer size to the 4 least significant bits of the passed length even though a CAN message cannot have more than 8 bytes of payload. Second, the used data length in the following memcpy() uses the initially passed data length which may exceed the internal data buffer size. Both will lead into hard to find bugs if the passed data buffer size is outside the limits according to the CAN standard. This fix intends to solve this by limiting the input data size to 8 bytes.
2020-02-17 22:00:42 +01:00
Martin Kojtal f8808384d3
Merge pull request #12389 from 1sadiqsa0/1sadiqsa0-patch-1
Update InterruptIn.h
2020-02-10 12:59:12 +00:00
Martin Kojtal 4e70d04a57 Merge pull request #12382 from hugueskamba/hk-fix-bufferedserial-exposed-enums
Fix BufferedSerial visibility of private base class enum enumerators
2020-02-10 10:54:08 +00:00
Shaik Abdul Sadiq 9eb9011861
Update InterruptIn.h
Falling edge doc correction.
2020-02-07 16:51:02 +05:30
Veijo Pesonen e784c15c9e SFDP: doxygen improvements 2020-02-07 09:52:12 +02:00
Veijo Pesonen ba71b09902 astyle fixes 2020-02-07 09:52:12 +02:00
Veijo Pesonen 4f4ef6069e SFDP: Sector Map Parameter Table naming improvements 2020-02-07 09:52:12 +02:00
Veijo Pesonen 57722666a1 SPIFBlockDevice: Consolidates SFDP info data
This far all SFDP Sector Map Table related data has been found in small
pieces inside SPIFBlockDevice. Purpose was to consolidate the data
under one SFDP structure where all the information gathered from
SFDP tables is stored.

More generic version of a function used for parsing a Sector Map Table
was taken into use to avoid duplicate code. The implementation taken
into use is the one which got split from QSPIFBlockDevice and resides
now under the SFDP module.
2020-02-07 09:52:11 +02:00
Veijo Pesonen 83c0fdf19f QSPIFBlockDevice: Sector Map Table parsing moved under SFDP 2020-02-07 09:52:11 +02:00
Veijo Pesonen 7518a35da3 SFDP: data structures got refactored 2020-02-07 09:52:11 +02:00
Veijo Pesonen 6108f384fb QSPIFBlockDevice: Consolidates SFDP info data
This far all SFDP Sector Map Table related data has been found in small
pieces inside QSPIFBlockDevice. Purpose was to consolidate the data
under one SFDP structure where all the information gathered from
SFDP tables is stored.

Parsing a Sector Map Table was made more generic so that later it can be
moved under SFDP module. Once that is done it can be shared with
SPIFBlockDevice to avoid code duplication.
2020-02-07 09:52:11 +02:00
Veijo Pesonen 4e1fb07633 SFDP: reorganizes internal info structure 2020-02-07 09:52:11 +02:00
Hugues Kamba 8910c24fdc Fix BufferedSerial visibility of private base class enum enumerators
Each enum enumerator needs to be exposed to be usable in the sub class.
2020-02-06 15:29:32 +00:00
Martin Kojtal 952799ccc8
Merge pull request #12270 from VeijoPesonen/bugfix_sfdp_parse_sfdp_headers
BUGFIX: SFDP Sector Map Table Parameter ID LSB is 0x81
2020-02-06 08:48:16 +00:00
Veijo Pesonen 399aabad2e USBMSD: Fixes compiler warnings 2020-01-31 10:37:18 +02:00
Veijo Pesonen 2d9cde9493 SFDP: fix mbed-os-example-blinky-baremetal build
Including mbed_trace.h file only doesn't work - the path is also
required.
2020-01-24 13:39:23 +02:00
Anna Bridge cb53825874
Merge pull request #12282 from mprse/fix_for_issue_12268
Fix for issue #12268 (SerialBase.cpp: fix initialization list)
2020-01-23 11:48:58 +00:00
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Veijo Pesonen 6bd3933652 Q/SPIFBlockDevice: Separates SFDP Header retrieval
Separates SFDP header retrieval and moves it as a part of the earlier
introduced SFDP file.

Purpose is to abstract away differences between SPIF and QSPIF devices
when it comes to fetching the SFDP headers from a device.
2020-01-20 16:36:21 +02:00
Veijo Pesonen aa599412e6 SFDP: replaces statix fx with usage of anon namespace 2020-01-20 12:59:22 +02:00
Veijo Pesonen a7e97ef93f SFDP: Improves code's comment-sections 2020-01-20 12:53:38 +02:00
Przemyslaw Stekiel f4af0516f4 SerialBase.cpp: fix compiler warnings by updating the initialization list 2020-01-20 11:03:51 +01:00
Veijo Pesonen cefae9020e SFDP: splits header parsing to its own file
SFDP logic is the same between SPIF and QSIP.
2020-01-17 14:43:03 +02:00
Martin Kojtal 18c941cc84
Merge pull request #12207 from hugueskamba/hk-add-buffered_serial
Add BufferedSerial class to replace UARTSerial
2020-01-16 10:06:22 +00:00
Hugues Kamba a74ffacf81 Remove usage of UARTSerial in Mbed OS Core diretories
Replace with BufferedSerial as UARTSerial has been deprecated.
2020-01-13 13:20:57 +00:00
Hugues Kamba 5fa76279ef Mark `UARTSerial` as deprecated 2020-01-13 13:20:57 +00:00
Hugues Kamba 18f677e91c Implement the BufferedSerial class to replace UARTSerial
`BufferedSerial` is `UARTSerial` renamed to convey the original purpose
of the class.
2020-01-13 13:20:57 +00:00
Kevin Bracey 8b02c4ed1c Add missing <string.h> includes 2020-01-09 14:52:54 +02:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Kevin Bracey ccd2a32ad1 MbedCRC: improve default constructors
Original default constructor implementation wasn't quite working
properly; it didn't cope with the new "mode_limit" parameter.

Change mechanism so that this now works:

    MbedCRC<POLY32_BIT_ANSI_CRC, 32, CrcMode::TABLE> crc;
2020-01-08 13:36:17 +02:00
Kevin Bracey 094f22901f MbedCRC: handle init values better
Init values often need reflection, and use of `__RBIT` prevents constant
init being done at compile time (unless `__RBIT` uses a compiler
intrinsic, which it doesn't for GCC).

Rather than try to handle constants 0U and -1U with a special case to
avoid the RBIT, which can in turn lead to runtime bloat for nonconstant
inits, use a C++20 style is_constant_evaluated() check to switch between
C and assembly forms.

This reduces code-size for non-constant init, by eliminating a runtime
condition, and allows the bit-reversal of any constant init to happen at
compile time.
2020-01-08 13:36:17 +02:00
Kevin Bracey 04f929e85f MbedCRC.h: declare table specialisations
Clang emits warnings if it can see a declaration when it needs a
templated variable. Add declarations for the specialisations in
MbedCRC.cpp to MbedCRC.h keep it quiet.

Tighten up a little by making all `_crc_table` references conditional
on tables being configured on.
2020-01-08 13:36:17 +02:00
Martin Kojtal fab9e3b6c7
Merge pull request #12176 from OpenNuvoton/nuvoton_usbd
Nuvoton: Support usbd
2020-01-07 16:38:39 +01:00
Hugues Kamba dbaeeaf758 Replace RawSerial instances as it has been deprecated 2020-01-06 15:48:49 +00:00
cyliangtw dc55d741c0 Adjust _rx_in_progress=true in USBCDC.cpp for USB DMA auto-receive chip 2020-01-03 20:40:39 +08:00
Anna Bridge bad7baf4de
Merge pull request #12121 from hugueskamba/hk-deprecate-serial-class
Serial: Deprecate the class and promote UnbufferedSerial instead
2019-12-19 16:34:01 +00:00
Anna Bridge fb8bbb83e4
Merge pull request #11997 from kjbracey-arm/rm_fp
Remove deprecated FunctionPointer class
2019-12-19 16:32:46 +00:00
Hugues Kamba 79054f154a Serial: Deprecate the class and promote UnbufferedSerial instead 2019-12-18 10:59:26 +00:00
Przemysław Gąsior eee46665d2 Fixed Serial ambiguity for enable_input and output 2019-12-16 15:01:28 +01:00
Anna Bridge d128ff4882
Merge pull request #11961 from hugueskamba/hk-add-unbuffered-serial-class
UnbufferedSerial: Introduce the class to replace RawSerial
2019-12-13 15:54:40 +00:00
Hugues Kamba 7b845409a0 UnbufferedSerial: Introduce the class to replace RawSerial
* Deprecate RawSerial.
* Introduce UnbufferedSerial to provide unbuffered I/O by implementing
  with a FileHandle interface for I/O	streams.
* Add Greentea test for the UnbufferedSerial class.
2019-12-12 08:44:09 +00:00
Przemyslaw Stekiel b6c25b1421 Remove serial flow control functions from image if flow control is not used 2019-12-09 08:28:14 +01:00
Przemyslaw Stekiel 160342b2d0 static pin-map - patch for SerialBase class
Related PR:

https://github.com/ARMmbed/mbed-os/pull/10924

The above PR adds functions to disable/enable serial input/output. If both serial input and serial output are disabled, the peripheral is freed. If either serial input or serial output is re-enabled, the peripheral is reinitialized.

I missed this change while working on the static pinmap and unfortunately it has an impact on it. The reinitialization is a problem for static pinmap. Now the HAL init()/init_direct() function is called not only in the constructor (but also when re-enabling the peripheral). In the current version, even if static pinmap constructor was used to create an object (and init_direct() HAL API), when reinitialization is done it uses init() HAL API. This must be split.

If static pinmap constructor is used, then the peripheral must be always initialized using HAL init_direct() function. If regular the constructor is used, then the peripheral must be initialized using HAL init() function. The same split also must be done while setting flow control during reinitialization.
2019-12-09 08:28:13 +01:00
Kevin Bracey 60e07ef8d6 Remove deprecated FunctionPointer class 2019-12-02 15:53:47 +02:00
Kevin Bracey c67816b5ff Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-12-02 14:45:37 +02:00
Kevin Bracey a995c162ac Revise MbedCRC template
* Use compile-time detection of hardware CRC capability, so unneeded
  code and tables do not go into the image.
* Add global JSON config option to allow choice between no tables,
  16-entry tables or 256-entry tables for software CRC. Default set
  to 16-entry, reducing ROM size from previous 256-entry.
* Allow manual override in template parameter to force software or
  bitwise CRC for a particular instance.
* Micro-optimisations, particularly use of `RBIT` instruction and
  optimising bitwise computation using inline assembler.

Incompatible changes:

* Remove special-case "POLY_32BIT_REV_ANSI" - users can use standard
  POLY_32BIT_ANSI, which now uses the same 16-entry tables by default,
  or can use hardware acceleration, which was disabled for
  POLY_32BIT_REV_ANSI. MbedCRC<POLY_32BIT_ANSI, 32, CrcMode::TABLE> can
  be used to force software like POLY_32BIT_REV_ANSI.
* The precomputed table for POLY_16BIT_IBM had errors - this has been
  corrected, but software CRC results will be different from the previous
  software calculation.
* < 8-bit CRC results are no longer are shifted up in the output value,
  but placed in the lowest bits, like other sizes. This means that code
  performing the SD command CRC will now need to use `(crc << 1) | 1`,
  rather than `crc | 1`.
2019-12-02 14:45:37 +02:00
Przemyslaw Stekiel b2dad08387 Change explicit pinmap to static pinmap 2019-11-28 08:32:12 +01:00
Przemyslaw Stekiel 7db99341fa Serial, QSPI: Fix style 2019-11-28 08:32:08 +01:00
Przemyslaw Stekiel 933e77414d prevent passing of temporary pinmap objects 2019-11-28 08:32:07 +01:00
Przemyslaw Stekiel 0147af8418 CAN: remove redundant loop 2019-11-28 08:32:07 +01:00
Przemyslaw Stekiel ef8a99472a QSPI: Add pointer to HAL init function 2019-11-28 08:32:07 +01:00
Przemyslaw Stekiel 0cf9b1ef75 QSPI: Add explicit pinmap support 2019-11-28 08:32:04 +01:00
Przemyslaw Stekiel 655a6b896f CAN: Add explicit pinmap support 2019-11-28 08:32:03 +01:00
Przemyslaw Stekiel d75cc97d80 Explicit pinmap - fix style 2019-11-28 08:32:02 +01:00
Przemyslaw Stekiel 17c1b9a860 Fix spelling error 2019-11-28 08:32:02 +01:00
Przemyslaw Stekiel bef6854a47 Serial, SerialBase, UARTSerial: Add explicit pinmap support 2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel 80b46769aa I2C: Add explicit pinmap support 2019-11-28 08:31:59 +01:00
Przemyslaw Stekiel bbd90b604b AnalogOut: Add explicit pinmap support 2019-11-28 08:31:58 +01:00
Przemyslaw Stekiel bfe19ad170 AnalogIn: Add explicit pinmap support 2019-11-28 08:31:57 +01:00
Przemyslaw Stekiel db5c5b5fb0 PwmOut: Add explicit pinmap support 2019-11-28 08:31:57 +01:00
Przemyslaw Stekiel 3a38c6bae0 SPISlave: Add explicit pinmap support 2019-11-28 08:31:56 +01:00
Przemyslaw Stekiel beec0f1e84 SPI: Add explicit pinmap support 2019-11-28 08:31:56 +01:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Kevin Bracey 8811972201 Adjust code for MbedCRC changes
* Make mbed_error use bitwise MbedCRC call rather than local
  implementation.
* Remove use of POLY_32BIT_REV_ANSI from LittleFS.
* Move some MbedCRC instances closer to use - construction cost is
  trivial, and visibility aids compiler optimisation.
2019-11-13 14:31:49 +02:00
Kevin Bracey 3939c992d4 Revise MbedCRC template
* Use compile-time detection of hardware CRC capability, so unneeded
  code and tables do not go into the image.
* Add global JSON config option to allow choice between no tables,
  16-entry tables or 256-entry tables for software CRC. Default set
  to 16-entry, reducing ROM size from previous 256-entry.
* Allow manual override in template parameter to force software or
  bitwise CRC for a particular instance.
* Micro-optimisations, particularly use of `RBIT` instruction and
  optimising bitwise computation using inline assembler.

Incompatible changes:

* Remove special-case "POLY_32BIT_REV_ANSI" - users can use standard
  POLY_32BIT_ANSI, which now uses the same 16-entry tables by default,
  or can use hardware acceleration, which was disabled for
  POLY_32BIT_REV_ANSI. MbedCRC<POLY_32BIT_ANSI, 32, CrcMode::TABLE> can
  be used to force software like POLY_32BIT_REV_ANSI.
* The precomputed table for POLY_16BIT_IBM had errors - this has been
  corrected, but software CRC results will be different from the previous
  software calculation.
* < 8-bit CRC results are no longer are shifted up in the output value,
  but placed in the lowest bits, like other sizes. This means that code
  performing the SD command CRC will now need to use `(crc << 1) | 1`,
  rather than `crc | 1`.
2019-11-13 14:31:49 +02:00
Martin Kojtal a73c2b1429
Merge pull request #11814 from sandeepmistry/usb-msd-mode-sense-10
USBMSD: implement MODE SENSE (10) command
2019-11-11 15:51:51 +01:00
Janne Kiiskila 916b91f13e SerialBase.h|cpp [-Wreorder] compiler warning fix
This fixes:

```
[Warning] SerialBase.h@351,22: 'mbed::SerialBase::_flow2' will be initialized after [-Wreorder]
[Warning] SerialBase.h@343,22:   'bool mbed::SerialBase::_rx_enabled' [-Wreorder]
[Warning] SerialBase.cpp@26,1:   when initialized here [-Wreorder]

```

by using C++11 style initializer for SerialBase

Kudos to Kevin Bracey, as her his suggestion - we can drop the initializer
list if we just set the values directly in the SerialBase.h. No need to
worry about the "right order" after that.
2019-11-08 11:20:47 +02:00
Sandeep Mistry c7d9d0af46 USBMSD: implement MODE SENSE (10) command 2019-11-05 11:17:40 -05:00
Martin Kojtal f560e7960a
Merge pull request #11641 from hugueskamba/hk-fix-deepsleep-pwmout
PmwOut: Add method to enable/disable PWM
2019-11-04 14:28:50 +01:00
Hugues Kamba b8bcc7face PwmOut: Add unit test 2019-11-01 09:35:41 +00:00
Martin Kojtal 2203549b37
Merge pull request #10924 from ghseb/free-serial-resources-2
Free serial resources if not needed anymore
2019-10-30 09:45:22 +01:00
Mike Naberezny 6be96ba4b2 FlashIAP: Get erase value from HAL instead of hardcoding it 2019-10-26 14:11:42 -07:00
Sebastian Stockhammer 1c907e6db9 Update deep sleep locks according to enabled state 2019-10-24 12:53:52 +02:00
Sebastian Stockhammer a3107062d9 Call correct method 2019-10-24 10:24:36 +02:00
Sebastian Stockhammer e72468c037 Handle undefined DEVICE_SERIAL_FC 2019-10-24 10:24:36 +02:00
Sebastian Stockhammer c31a360271 Fix spelling 2019-10-24 10:24:36 +02:00