Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						deb3c93892 
					 
					
						
						
							
							Simpliify PeripheralMutex a bit.  
						
						
						
						
					 
					
						2021-01-06 22:48:54 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						77bdb5428e 
					 
					
						
						
							
							buffered_uarte naming cleanup  
						
						
						
						
					 
					
						2021-01-06 20:21:03 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						9bb4c97dc2 
					 
					
						
						
							
							Merge pull request  #14  from timokroeger/uarte-power-optimization  
						
						... 
						
						
						
						UARTE power optimization and improvements 
						
						
					 
					
						2021-01-05 22:10:52 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						607e67f51a 
					 
					
						
						
							
							Cleanup BufferedUarte  
						
						
						
						
					 
					
						2021-01-05 21:14:04 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3a4dbfa52e 
					 
					
						
						
							
							Massicely simplify peripheral abstraction  
						
						
						
						
					 
					
						2021-01-05 01:57:05 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						0631623b51 
					 
					
						
						
							
							uarte: Low power wait for RX drop  
						
						
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						93780fa31d 
					 
					
						
						
							
							uarte: Wait for the peripheral to be disabled  
						
						... 
						
						
						
						Prevents a panic in the case of:
1. Abort a receive future
2. Free Uarte::free()
3. Uarte::new()
->  panicked at 'assertion failed: uarte.enable.read().enable().is_disabled()' 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						9b1f7b8a17 
					 
					
						
						
							
							uarte: Enable peripheral with first poll  
						
						... 
						
						
						
						This fixes a lockup when a future is dropped before it was polled. 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						85ec9dd16f 
					 
					
						
						
							
							uarte: Be on safe side with potentially racy code  
						
						... 
						
						
						
						The PS does not specify how many cycles it takes for a STARTXX task to
generate a XXSTARTED event. I think it is instantaneous but let’s be on
the safe side for the following sequence:
1. poll() starttx
2. drop() txstarted not yet set, but future gets dropped
3. txstarted set by hardware, peripheral enabled after it was dropped 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						a3b3305b8e 
					 
					
						
						
							
							uarte: Only stop TX forcefully when a transmissions is running  
						
						... 
						
						
						
						This comes with insignificant power consumption improvements but makes
the code of the RX and TX case symmetric. 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						a7c03e4cb6 
					 
					
						
						
							
							uarte: Only stop RX forcefully when a reception is running  
						
						... 
						
						
						
						The STOPRX task always triggers a timeout of ~55bit times until the
RXTO event is generated. Before we disabled the receiver only after
the timeout.
With this change the receiver is stopped right after reception has ended
because the DMA buffer is full.
For forced RX aborts like `stop()` or on drop still need to wait for the
RXTO event before disabling the receiver. 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						9f28c7ab8d 
					 
					
						
						
							
							uarte: Do not spin when stopping a receive future  
						
						... 
						
						
						
						Spinning on drop() is still required when the future has not been
stopped so that DMA finishes before the buffer is released. 
						
						
					 
					
						2021-01-04 22:55:40 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						9e88718fbd 
					 
					
						
						
							
							Add "context" pointer to owned interrupt handlers.  
						
						
						
						
					 
					
						2021-01-04 22:25:39 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						39ca8b8ded 
					 
					
						
						
							
							Fix build on non-nrf52840  
						
						
						
						
					 
					
						2021-01-03 22:30:47 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						ace4f40f80 
					 
					
						
						
							
							Introduce "peripheral" abstraction to share state between main and interrupt.  
						
						
						
						
					 
					
						2021-01-03 01:40:40 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						4ce51795f2 
					 
					
						
						
							
							use hal::Pins for BufferedUarte  
						
						
						
						
					 
					
						2021-01-02 20:31:50 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0ab88ea279 
					 
					
						
						
							
							Add Uart trait, implement it for nrf.  
						
						
						
						
					 
					
						2021-01-02 19:59:37 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3c7e7220b3 
					 
					
						
						
							
							Don't use embedded_dma in nrf uarte.  
						
						
						
						
					 
					
						2021-01-02 19:14:54 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						4783222f67 
					 
					
						
						
							
							Rename WakerStore -> WakerRegistration.  
						
						
						
						
					 
					
						2021-01-01 22:30:11 +01:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						6695bf0f21 
					 
					
						
						
							
							Low power UART driver  
						
						
						
						
					 
					
						2020-12-30 19:24:12 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						7dc81faa4e 
					 
					
						
						
							
							Declare irqs for each nrf chip  
						
						
						
						
					 
					
						2020-12-29 15:20:42 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						af5454fbfe 
					 
					
						
						
							
							Update drivers to owned irqs.  
						
						
						
						
					 
					
						2020-12-29 01:53:17 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						4b8d8ba87e 
					 
					
						
						
							
							Update RTC for owned irqs  
						
						
						
						
					 
					
						2020-12-29 01:05:28 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0750234fbe 
					 
					
						
						
							
							WIP owned irqs  
						
						
						
						
					 
					
						2020-12-29 00:05:52 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						267ec334ac 
					 
					
						
						
							
							Rename Uarte -> BufferedUarte  
						
						
						
						
					 
					
						2020-12-28 23:57:50 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1aae27270e 
					 
					
						
						
							
							Better fmt macros.  
						
						
						
						
					 
					
						2020-12-13 21:17:58 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						ca2ff632ba 
					 
					
						
						
							
							Fix possibly ambiguous macro  
						
						
						
						
					 
					
						2020-12-01 20:00:55 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						6f76c0ebcc 
					 
					
						
						
							
							Add support for log+defmt again, but better.  
						
						
						
						
					 
					
						2020-12-01 17:46:56 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						78135a81d9 
					 
					
						
						
							
							Remove anyfmt  
						
						
						
						
					 
					
						2020-11-27 18:42:59 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						2e062f5627 
					 
					
						
						
							
							gpiote: change port api to directly return futures.  
						
						
						
						
					 
					
						2020-11-09 01:04:34 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						61b1d4e188 
					 
					
						
						
							
							Fix build for nrfs with 32 gpios  
						
						
						
						
					 
					
						2020-11-08 19:05:34 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						e539cd32ca 
					 
					
						
						
							
							Fix logging with anyfmt/log  
						
						
						
						
					 
					
						2020-11-08 19:00:23 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						fc0fe842ee 
					 
					
						
						
							
							Add support for GPIOTE Port event.  
						
						
						
						
					 
					
						2020-11-08 18:59:31 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						def225b982 
					 
					
						
						
							
							gpiote: better naming  
						
						
						
						
					 
					
						2020-11-08 17:38:45 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0a3590566d 
					 
					
						
						
							
							Fix ambiguous assert  
						
						
						
						
					 
					
						2020-11-01 17:56:29 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						5e8608c7a5 
					 
					
						
						
							
							Make defmt optional with new anyfmt crate  
						
						
						
						
					 
					
						2020-11-01 17:17:24 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0643095695 
					 
					
						
						
							
							Fix build with all nrf chip models  
						
						
						
						
					 
					
						2020-10-31 23:03:09 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						9dea5035b9 
					 
					
						
						
							
							Remove unused  
						
						
						
						
					 
					
						2020-10-31 22:36:02 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						ec4b95579d 
					 
					
						
						
							
							gpiote: take owned pin but add function to borrow it.  
						
						
						
						
					 
					
						2020-10-19 21:25:54 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						33dce24e8a 
					 
					
						
						
							
							Add gpiote output channel.  
						
						
						
						
					 
					
						2020-09-29 19:18:52 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						c81d626254 
					 
					
						
						
							
							gpiote: take borrow instead of owned pin.  
						
						... 
						
						
						
						This makes it possible to read the pin while the channel is created. 
						
						
					 
					
						2020-09-29 04:17:32 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						37d2b440ff 
					 
					
						
						
							
							Fix rtc using multiple alarms at the same time.  
						
						
						
						
					 
					
						2020-09-26 00:35:25 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						19a89b5c14 
					 
					
						
						
							
							Add Clock trait  
						
						
						
						
					 
					
						2020-09-25 23:38:42 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						cf1d604749 
					 
					
						
						
							
							Add support for multi alarm to RTC.  
						
						
						
						
					 
					
						2020-09-25 23:25:49 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						4333105341 
					 
					
						
						
							
							Add Executor with timer queue, Timer, Instant, Duration, Alarm.  
						
						
						
						
					 
					
						2020-09-25 03:25:06 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						05ca563e7d 
					 
					
						
						
							
							Add clock::Monotonic trait.  
						
						
						
						
					 
					
						2020-09-24 23:26:24 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						82e5e3c45f 
					 
					
						
						
							
							rtc: Add alarm callback.  
						
						
						
						
					 
					
						2020-09-24 22:41:52 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3b39ab07e5 
					 
					
						
						
							
							Add 64-bit rtc driver with alarm support.  
						
						
						
						
					 
					
						2020-09-24 19:59:20 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						4e4241bf90 
					 
					
						
						
							
							remove nrf prefix in features, for consistency with nrf-hal  
						
						
						
						
					 
					
						2020-09-24 19:56:47 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						f9e2cef7f2 
					 
					
						
						
							
							Add GPIOTE async hal.  
						
						
						
						
					 
					
						2020-09-23 00:32:49 +02:00