Leszek Rusinowicz
							
						 
						
							 
							
							
							
								
							
								cbb84d8ad3 
								
							
								 
							
						 
						
							
							
								
								Asynchronous Serial API fixes and refactoring, part 2  
							
							 
							
							... 
							
							
							
							Aborting of asynchronous operation is necessarily hazardous, as
operation can end in interrupt anywhere from the point of decision
until it is actually aborted down the abort_...() method.
Proper deep sleep unlocking requires then use of the critical
section and should be contained completely within API implementation. 
							
						 
						
							2019-02-12 17:09:48 +01:00  
						
					 
				
					
						
							
							
								 
								Leszek Rusinowicz
							
						 
						
							 
							
							
							
								
							
								6d648092e1 
								
							
								 
							
						 
						
							
							
								
								Asynchronous Serial API fixes and refactoring, part 1  
							
							 
							
							... 
							
							
							
							1. As RX and TX flows are separate on Serial device, read and write
   functionalities should be completely separate, including any deep
   sleep locking etc.
2. User may want to use asynchronous API without a callback (especially
   for write operations), for example in a command-response scheme
   end of write operation is usually meaningless. The intuitive
   method is to submit NULL pointer for a callback. For this reason
   depending on the _callback field in determining whether the
   operation is in progress seems to be uncertain, so introduced
   additional flags for this purpose. 
							
						 
						
							2019-02-12 17:04:19 +01:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								aec8bb6046 
								
							
								 
							
						 
						
							
							
								
								drivers: add spdx license  
							
							 
							
							
							
						 
						
							2018-11-28 10:39:50 +00:00  
						
					 
				
					
						
							
							
								 
								Michael Ray
							
						 
						
							 
							
							
							
								
							
								b7559e315c 
								
							
								 
							
						 
						
							
							
								
								Feature: Added non-blocking serial break/unbreak functions  
							
							 
							
							... 
							
							
							
							Current serial implementation has a send_break() command which
sends a break command on the UART for a fixed amount of time.
Added functions to allow users to send a break in a non-blocking
fashion, as well as for a user-specified amount of time. 
							
						 
						
							2018-11-13 12:46:05 -06:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								700e6df834 
								
							
								 
							
						 
						
							
							
								
								drivers: astyle update  
							
							 
							
							
							
						 
						
							2018-06-29 10:36:36 +01:00  
						
					 
				
					
						
							
							
								 
								Bartek Szatkowski
							
						 
						
							 
							
							
							
								
							
								4cb47df40a 
								
							
								 
							
						 
						
							
							
								
								Add system_reset() function to Mbed OS  
							
							 
							
							
							
						 
						
							2018-02-28 16:42:34 +00:00  
						
					 
				
					
						
							
							
								 
								Russ Butler
							
						 
						
							 
							
							
							
								
							
								f854f3e6db 
								
							
								 
							
						 
						
							
							
								
								Properly unlock sleep in destructor of drivers  
							
							 
							
							... 
							
							
							
							Unlock sleep in CAN and SerialBase. This prevents deep sleep from
staying locked if these objects are destroyed without first clearing
the callbacks. 
							
						 
						
							2017-10-02 11:35:08 -05:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								f6c34a2303 
								
							
								 
							
						 
						
							
							
								
								SerialBase and CAN: fix Callbacks comparision  
							
							 
							
							... 
							
							
							
							As Callback currently does not have fully functional comparision (see #5017 ),
we workaround by doing null check. 
							
						 
						
							2017-09-07 15:35:08 +01:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								5b33d2583d 
								
							
								 
							
						 
						
							
							
								
								drivers: fix attach sleep locking  
							
							 
							
							... 
							
							
							
							attach/detach can be multiple invoked. Therefore lock/unlock deep sleep
only for the very first time it is invoked (when callbacks
are actually changed). 
							
						 
						
							2017-09-07 15:35:06 +01:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								e57f0bcd26 
								
							
								 
							
						 
						
							
							
								
								Drivers: locking sleep fix for attach/detach  
							
							 
							
							... 
							
							
							
							As attach provides API to change a callback, lock/unlock should
only happen if we are doing the first/last callback (start-stop). 
							
						 
						
							2017-09-07 15:35:05 +01:00  
						
					 
				
					
						
							
							
								 
								Martin Kojtal
							
						 
						
							 
							
							
							
								
							
								e6d8a9a8a4 
								
							
								 
							
						 
						
							
							
								
								Drivers with interrupts: adding sleep deep locking  
							
							 
							
							... 
							
							
							
							Any driver with attach or async API should be considered for deep sleep.
Add locking to those that require in most cases
high-frequency clocks:
- CAN
- I2C
- SPI
- Serial
- Ticker/Timeout/Timer 
							
						 
						
							2017-09-07 15:35:05 +01:00  
						
					 
				
					
						
							
							
								 
								Christopher Haster
							
						 
						
							 
							
							
							
								
							
								aff49d8d1e 
								
							
								 
							
						 
						
							
							
								
								Renamed files in platform to match source names  
							
							 
							
							... 
							
							
							
							critical.h     -> mbed_critical.h
sleep.h        -> mbed_sleep.h
toolchain.h    -> mbed_toolchain.h
rtc_time.h     -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h     -> mbed_wait_api.h 
							
						 
						
							2017-02-22 18:17:54 -06:00  
						
					 
				
					
						
							
							
								 
								Christopher Haster
							
						 
						
							 
							
							
							
								
							
								417524f562 
								
							
								 
							
						 
						
							
							
								
								Callback: Adopt better use of assignment/call operators  
							
							 
							
							
							
						 
						
							2017-02-15 15:19:38 -06:00  
						
					 
				
					
						
							
							
								 
								Bogdan Marinescu
							
						 
						
							 
							
							
							
								
							
								8eb36e1164 
								
							
								 
							
						 
						
							
							
								
								Added a baud argument for (Raw)Serial objects  
							
							 
							
							... 
							
							
							
							This commit adds a `baud` argument for Serial and RawSerial objects:
- there is a new `Serial` constructor with a mandatory baud rate
  argument. The old constructor also got a `baud` argument with a
  default value (to keep backward compatibility).
- the `RawSerial` constructor also got a `baud` argument with a default
  value.
There's also a new configuration parameter (`default-serial-baud-rate`)
that can be used to specify the default value of the above `baud`
arguments. 
							
						 
						
							2016-10-03 20:12:24 +03:00  
						
					 
				
					
						
							
							
								 
								Sam Grove
							
						 
						
							 
							
							
							
								
							
								301b77c4b2 
								
							
								 
							
						 
						
							
							
								
								For drivers, events, hal, platform, rtos and mbed.h add one level of path to make sure specific and unique includes files are found.  
							
							 
							
							
							
						 
						
							2016-10-01 02:11:36 -05:00  
						
					 
				
					
						
							
							
								 
								Christopher Haster
							
						 
						
							 
							
							
							
								
							
								15904b7544 
								
							
								 
							
						 
						
							
							
								
								restructure - Split hal into drivers+platform+hal  
							
							 
							
							... 
							
							
							
							hal/common/AnalogIn.cpp -> drivers/AnalogIn.cpp
hal/api/AnalogIn.h -> drivers/AnalogIn.h
hal/api/AnalogOut.h -> drivers/AnalogOut.h
hal/common/BusIn.cpp -> drivers/BusIn.cpp
hal/api/BusIn.h -> drivers/BusIn.h
hal/common/BusInOut.cpp -> drivers/BusInOut.cpp
hal/api/BusInOut.h -> drivers/BusInOut.h
hal/common/BusOut.cpp -> drivers/BusOut.cpp
hal/api/BusOut.h -> drivers/BusOut.h
hal/common/CAN.cpp -> drivers/CAN.cpp
hal/api/CAN.h -> drivers/CAN.h
hal/api/CircularBuffer.h -> drivers/CircularBuffer.h
hal/api/DigitalIn.h -> drivers/DigitalIn.h
hal/api/DigitalInOut.h -> drivers/DigitalInOut.h
hal/api/DigitalOut.h -> drivers/DigitalOut.h
hal/api/DirHandle.h -> drivers/DirHandle.h
hal/common/Ethernet.cpp -> drivers/Ethernet.cpp
hal/api/Ethernet.h -> drivers/Ethernet.h
hal/common/FileBase.cpp -> drivers/FileBase.cpp
hal/api/FileBase.h -> drivers/FileBase.h
hal/api/FileHandle.h -> drivers/FileHandle.h
hal/common/FileLike.cpp -> drivers/FileLike.cpp
hal/api/FileLike.h -> drivers/FileLike.h
hal/common/FilePath.cpp -> drivers/FilePath.cpp
hal/api/FilePath.h -> drivers/FilePath.h
hal/common/FileSystemLike.cpp -> drivers/FileSystemLike.cpp
hal/api/FileSystemLike.h -> drivers/FileSystemLike.h
hal/common/I2C.cpp -> drivers/I2C.cpp
hal/api/I2C.h -> drivers/I2C.h
hal/common/I2CSlave.cpp -> drivers/I2CSlave.cpp
hal/api/I2CSlave.h -> drivers/I2CSlave.h
hal/common/InterruptIn.cpp -> drivers/InterruptIn.cpp
hal/api/InterruptIn.h -> drivers/InterruptIn.h
hal/common/InterruptManager.cpp -> drivers/InterruptManager.cpp
hal/api/InterruptManager.h -> drivers/InterruptManager.h
hal/common/LocalFileSystem.cpp -> drivers/LocalFileSystem.cpp
hal/api/LocalFileSystem.h -> drivers/LocalFileSystem.h
hal/api/LowPowerTicker.h -> drivers/LowPowerTicker.h
hal/api/LowPowerTimeout.h -> drivers/LowPowerTimeout.h
hal/api/LowPowerTimer.h -> drivers/LowPowerTimer.h
hal/api/PortIn.h -> drivers/PortIn.h
hal/api/PortInOut.h -> drivers/PortInOut.h
hal/api/PortOut.h -> drivers/PortOut.h
hal/api/PwmOut.h -> drivers/PwmOut.h
hal/common/RawSerial.cpp -> drivers/RawSerial.cpp
hal/api/RawSerial.h -> drivers/RawSerial.h
hal/common/SPI.cpp -> drivers/SPI.cpp
hal/api/SPI.h -> drivers/SPI.h
hal/common/SPISlave.cpp -> drivers/SPISlave.cpp
hal/api/SPISlave.h -> drivers/SPISlave.h
hal/common/Serial.cpp -> drivers/Serial.cpp
hal/api/Serial.h -> drivers/Serial.h
hal/common/SerialBase.cpp -> drivers/SerialBase.cpp
hal/api/SerialBase.h -> drivers/SerialBase.h
hal/common/Stream.cpp -> drivers/Stream.cpp
hal/api/Stream.h -> drivers/Stream.h
hal/common/Ticker.cpp -> drivers/Ticker.cpp
hal/api/Ticker.h -> drivers/Ticker.h
hal/common/Timeout.cpp -> drivers/Timeout.cpp
hal/api/Timeout.h -> drivers/Timeout.h
hal/common/Timer.cpp -> drivers/Timer.cpp
hal/api/Timer.h -> drivers/Timer.h
hal/common/TimerEvent.cpp -> drivers/TimerEvent.cpp
hal/api/TimerEvent.h -> drivers/TimerEvent.h
hal/api/Transaction.h -> drivers/Transaction.h
hal/api/can_helper.h -> drivers/can_helper.h
hal/.yotta_ignore
hal/CMakeLists.txt
hal/hal/analogin_api.h -> hal/analogin_api.h
hal/hal/analogout_api.h -> hal/analogout_api.h
hal/hal/buffer.h -> hal/buffer.h
hal/hal/can_api.h -> hal/can_api.h
hal/hal/dma_api.h -> hal/dma_api.h
hal/hal/ethernet_api.h -> hal/ethernet_api.h
hal/hal/gpio_api.h -> hal/gpio_api.h
hal/hal/gpio_irq_api.h -> hal/gpio_irq_api.h
hal/hal/i2c_api.h -> hal/i2c_api.h
hal/hal/lp_ticker_api.h -> hal/lp_ticker_api.h
hal/common/mbed_gpio.c -> hal/mbed_gpio.c
hal/common/mbed_lp_ticker_api.c -> hal/mbed_lp_ticker_api.c
hal/common/mbed_pinmap_common.c -> hal/mbed_pinmap_common.c
hal/common/mbed_ticker_api.c -> hal/mbed_ticker_api.c
hal/common/mbed_us_ticker_api.c -> hal/mbed_us_ticker_api.c
hal/module.json
hal/hal/pinmap.h -> hal/pinmap.h
hal/hal/port_api.h -> hal/port_api.h
hal/hal/pwmout_api.h -> hal/pwmout_api.h
hal/hal/rtc_api.h -> hal/rtc_api.h
hal/hal/serial_api.h -> hal/serial_api.h
hal/hal/sleep_api.h -> hal/sleep_api.h
hal/hal/spi_api.h -> hal/spi_api.h
hal/hal/storage_abstraction/Driver_Common.h -> hal/storage_abstraction/Driver_Common.h
hal/hal/storage_abstraction/Driver_Storage.h -> hal/storage_abstraction/Driver_Storage.h
hal/hal/ticker_api.h -> hal/ticker_api.h
hal/hal/trng_api.h -> hal/trng_api.h
hal/hal/us_ticker_api.h -> hal/us_ticker_api.h
hal/api/mbed.h -> mbed.h
hal/api/CThunk.h -> platform/CThunk.h
hal/common/CallChain.cpp -> platform/CallChain.cpp
hal/api/CallChain.h -> platform/CallChain.h
hal/api/Callback.h -> platform/Callback.h
hal/api/FunctionPointer.h -> platform/FunctionPointer.h
hal/api/PlatformMutex.h -> platform/PlatformMutex.h
hal/api/SingletonPtr.h -> platform/SingletonPtr.h
hal/api/critical.h -> platform/critical.h
hal/common/mbed_alloc_wrappers.cpp -> platform/mbed_alloc_wrappers.cpp
hal/common/mbed_assert.c -> platform/mbed_assert.c
hal/api/mbed_assert.h -> platform/mbed_assert.h
hal/common/mbed_board.c -> platform/mbed_board.c
hal/common/mbed_critical.c -> platform/mbed_critical.c
hal/api/mbed_debug.h -> platform/mbed_debug.h
hal/common/mbed_error.c -> platform/mbed_error.c
hal/api/mbed_error.h -> platform/mbed_error.h
hal/common/mbed_interface.c -> platform/mbed_interface.c
hal/api/mbed_interface.h -> platform/mbed_interface.h
hal/common/mbed_mem_trace.c -> platform/mbed_mem_trace.c
hal/api/mbed_mem_trace.h -> platform/mbed_mem_trace.h
hal/common/mbed_rtc_time.cpp -> platform/mbed_rtc_time.cpp
hal/common/mbed_semihost_api.c -> platform/mbed_semihost_api.c
hal/api/mbed_stats.h -> platform/mbed_stats.h
hal/common/mbed_wait_api_no_rtos.c -> platform/mbed_wait_api_no_rtos.c
hal/common/mbed_wait_api_rtos.cpp -> platform/mbed_wait_api_rtos.cpp
hal/api/platform.h -> platform/platform.h
hal/common/retarget.cpp -> platform/retarget.cpp
hal/api/rtc_time.h -> platform/rtc_time.h
hal/api/semihost_api.h -> platform/semihost_api.h
hal/api/toolchain.h -> platform/toolchain.h
hal/api/wait_api.h -> platform/wait_api.h 
							
						 
						
							2016-09-30 19:18:09 -05:00