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
talorion
a721767c00
fixed warnings: comparison of integer expressions of different signedness
2020-08-24 15:34:20 +02:00
Kyle Kearney
9e4be5e494
Call HAL free functions from C++ destructors
...
Add missing calls to HAL free to the following drivers
- AnalogIn
- QSPI
- SerialBase
2020-07-20 12:15:40 -07:00
Martin Kojtal
802c89707e
Merge pull request #12905 from kjbracey-arm/timer_tweaks
...
Timer: minor revisions
2020-06-18 22:23:56 +02:00
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
George Beckstein
7f19f8226e
Revised doxygen comments and fixed code style inconsistencies
2020-05-20 06:23:22 -04:00
Martin Kojtal
3fe0022baf
Merge pull request #12902 from kjbracey-arm/chrono_usb
...
USB: Convert to Chrono
2020-05-12 14:22:59 +02:00
Kevin Bracey
2540ab1802
Timer: minor revisions
...
* C++11-ify a little.
* Make it copy/move constructible.
2020-05-11 16:20:13 +03:00
Kevin Bracey
0a9e1db181
Correct Timeout rescheduling
...
Chrono changes "optimised" `Timeout::handler` in a way that broke users
who rescheduled the timeout during their attached callback.
Attempted optimisation is less necessary now that
`platform.callback-nontrivial` is set to false by default - that
setting reduces overhead of copying the `Callback` to almost nothing.
2020-05-07 17:00:59 +03:00
George Beckstein
aeb91c2598
Updated default vref to be NAN. Made vref an optional constructor arg
2020-04-30 12:40:19 -04:00
George Beckstein
746f2f5fb5
Changed default ADC vref configuration from driver-level to target-level
2020-04-30 12:40:19 -04:00
George Beckstein
5d3d633566
Update voltage wording to be consistent
2020-04-30 12:40:19 -04:00
George Beckstein
7b70843632
Fix styling and fix mbed_lib.json syntax error
2020-04-30 12:40:19 -04:00
George Beckstein
b76300f57c
Add reference voltage getter and clarify some comments
2020-04-30 12:40:19 -04:00
George Beckstein
5a543918ca
Added API to reconfigure ADC reference voltage at runtime.
2020-04-30 12:39:58 -04:00
George Beckstein
6ffacaef05
Added API call to return ADC reading in volts, scaled by configurable system ADC reference voltage.
2020-04-30 12:39:58 -04:00
Kevin Bracey
cd6e7bb4cf
USB: Convert to Chrono
2020-04-30 13:33:15 +03:00
Martin Kojtal
d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
...
C++ Chrono support
2020-04-30 11:41:43 +02:00
Rajkumar Kanagaraj
adeae5157f
Add the newline
2020-04-28 16:55:58 +01:00
Rajkumar Kanagaraj
d4e2d6961a
Add MBED_CONF_RTOS_PRESENT guard to enable USBCDC_ECM class device only for MBED OS full profile.
2020-04-27 15:00:33 +01:00
Kevin Bracey
b614bd3113
Durations don't always zero init
...
In a couple of places I assumed that durations and time_points always
zero-initialised. This is incorrect - they act as if they were their
representation, so integer durations only zero-init when static.
You can zero init (like integers) by having `{}` initialisation.
2020-04-27 10:19:08 +03:00
Kevin Bracey
58388b7e5e
Out-of-line LowPowerTimeout etc, lock
...
To match Timer etc, make LowPowerTimer et al out-of-line.
Correct LowPowerTimeout to not lock deep sleep.
2020-04-27 10:19:08 +03:00
Rajkumar Kanagaraj
a10dafdda8
Fix the CI build issue
2020-04-27 10:19:08 +03:00
Rajkumar Kanagaraj
c71c980ccd
Fix the CI build and unit test issue
2020-04-27 10:19:08 +03:00
Kevin Bracey
34428f9d4c
Add Chrono support to Ticker et al
2020-04-27 10:19:08 +03:00
Martin Kojtal
b7664fa78c
Merge pull request #12680 from dustin-crossman/pr/qspi_partial_fix
...
QSPI driver also acquires ownership upon initialization now.
2020-04-02 13:59:40 +02:00
Anna Bridge
292a1b9862
Merge pull request #12693 from maciejbocianski/fix_usb_msd
...
USBMSD security updates
2020-03-27 12:08:02 +00:00
Maciej Bocianski
1ffb4d7356
update USBMSD::memoryWrite implementation
...
Fix prevents unaligned USB transfers
2020-03-24 22:05:46 +01:00
Maciej Bocianski
89e67d3136
update USBMSD::memoryRead implementation
...
Fix protects underlaying block device from out-of-bound reads
2020-03-24 21:52:03 +01:00
Maciej Bocianski
ac105f5a18
update USBMSD::infoTransfer implementation
...
Fix protects underlaying block device from out-of-bound read/writes
- prevents the host from setting block device addres larger then block device size
- prevents the host from setting wrong read/write lenght
2020-03-24 21:28:23 +01:00
Dustin Crossman
1e000bb9ae
QSPI driver also acquires ownership upon initialization now.
2020-03-23 12:11:47 -07:00
Anna Bridge
4a5fac34a1
Merge pull request #12528 from VeijoPesonen/sfdp_split_5
...
SFDP: consolidation of SFDP parsing [5/5]
2020-03-20 16:26:39 +00:00
Anna Bridge
d048cd4c83
Merge pull request #12410 from rajkan01/serial_remove_deprecate
...
Remove the deprecated RawSerial, UARTSerial, Serial
2020-03-20 15:19:32 +00:00
Veijo Pesonen
b89e60ba8f
SFDP: code readability improvements
2020-03-17 17:48:39 +02:00
Veijo Pesonen
eb01afb198
SFDP: fixes a trace print
...
Indexing runs from highest to lowest, not other way round.
2020-03-17 17:48:39 +02:00
Veijo Pesonen
e04a1a4017
SFDP: adds traces to identify known SFDP headers
2020-03-17 17:48:39 +02:00
Veijo Pesonen
43289c74ce
SFDP: converts to smart pointers
...
C++14-ify memory allocation.
2020-03-17 17:43:09 +02:00
Veijo Pesonen
e40ce82fee
SFDP: Sector Map Parameter Tbl parsing refactored
...
Making search for common erase type between regions more clear
2020-03-17 17:43:09 +02:00
Veijo Pesonen
19c9735a9f
Bugfix: SFDP Sector Map Param Tbl size is variable
...
Earlier it was assumed that the table has a certain max length but that
isn't true.
2020-03-17 17:43:09 +02:00
Veijo Pesonen
a088d30b6d
SFDP: whitespace cleanup
2020-03-17 17:43:09 +02:00
Anna Bridge
5aab4c4f11
Merge pull request #12524 from VeijoPesonen/sfdp_split_4
...
Bugfix: Concurrent SFDP header address init fixed
2020-03-06 13:57:07 +00:00
Martin Kojtal
ea3761f38d
Merge pull request #12531 from dustin-crossman/pr/flashiap_fix
...
Add check so that FlashIAP does not allocate memory on flash_init failure
2020-03-05 15:36:57 +00:00
Rajkumar Kanagaraj
df32091c7b
Remove the deprecated RawSerial, UARTSerial, Serial class and SerialBase attach API
2020-03-03 05:19:42 -08:00
Martin Kojtal
a937d30501
Merge pull request #12511 from paul-szczepanek-arm/patch-1
...
allow reconfiguring a running watchdog
2020-03-03 13:00:45 +00:00
Veijo Pesonen
98dbebb3ed
SFDP: Refactor Sector Map Parameter Table parsing
...
Doxygen documentation was updated.
Code reorganized to make it more readable.
Moves SFDP specific bits out from Q/SPIFBlockDevices.
2020-03-02 11:07:03 +02:00
Veijo Pesonen
c84deff782
SFDP: consolidates check for addressability
...
Takes implementations found from SPIFBlockDevice and QSPIFBlockDevice
and makes those as part of the SFDP module.
2020-03-02 11:04:05 +02:00
Veijo Pesonen
2ce3bed910
SFDP: consolidates device density detection
...
Combines implementations found from SPIFBlockDevice and QSPIFBlockDevice
and makes it as part of the SFDP module.
2020-03-02 11:02:09 +02:00
Dustin Crossman
2f97c2d747
Add check so that FlashIAP does not allocate memory on flash_init failure.
2020-02-28 09:58:25 -08:00
Martin Kojtal
1f36b1cf09
Merge pull request #12450 from VeijoPesonen/sfdp_split_bptbl_2
...
SFDP: consolidation of SFDP parsing [3/n]
2020-02-27 17:08:14 +00: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
Veijo Pesonen
c953b656ac
SFDP: provides doxygen documentation improvements
2020-02-26 13:44:34 +02: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
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
7d1886ecae
SFDP: consolidation of sfdp_detect_page_size
2020-02-20 09:46:40 +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
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
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
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
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
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
fb8bbb83e4
Merge pull request #11997 from kjbracey-arm/rm_fp
...
Remove deprecated FunctionPointer class
2019-12-19 16:32:46 +00: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
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