Commit Graph

684 Commits

Author SHA1 Message Date
c6736abf5e dont wait seqend for sequencepwm 2021-11-10 18:52:03 -07:00
c450f91bd9 doc comment cleanup 2021-11-10 17:30:59 -07:00
6dcc731065 drop the debug 2021-11-10 17:25:38 -07:00
5f28153b81 disconnect pwm pins on drop 2021-11-10 17:19:03 -07:00
3b7af2f4ed fix wait seqend, pwm example is slow now... 2021-11-10 13:03:44 -07:00
903b8f032f defensive dma 2021-11-10 12:34:41 -07:00
4751dbddc6 move state into PwmSimple 2021-11-10 12:32:28 -07:00
9548748c26 fix 2021-11-10 12:29:13 -07:00
65843c033e pwm store and deconfigure pins 2021-11-10 11:02:43 -07:00
5322e293bd Merge #461
461: nrf: add initial nrf5340 support r=Dirbaio a=Dirbaio

Thanks to `@diondokter's` work on DPPI this was quite easy! :) 

TODO:
- [ ] Add config option to enable 128mhz
- [ ] Add config option to unlock APPROTECT automatically.
- [ ] Add a way to boot net (config option or API?)
- [ ] Support WDT (there's WDT0, WDT1. Needs some refactor)
- [ ] Support NVMC
- [ ] Support TEMP

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-11-07 22:58:27 +00:00
03f2c593d6 fix slice_in_ram for arbitrary size types 2021-11-03 18:56:02 -07:00
64e1426b54 clean up some todo comments around infinite play 2021-11-03 18:46:42 -07:00
b726ef1886 make SequenceConfig struct is consistent with other Config structs, that are always non_exhaustive and have a Default 2021-11-03 18:37:54 -07:00
d961fd1015 rename to SimplePwm and SequencePwm 2021-11-03 18:25:44 -07:00
9a6c2de4ea fix safety comments 2021-11-03 18:19:43 -07:00
511c5cb892 intenset in a noop 2021-11-03 18:16:00 -07:00
82695c8f65 make both news configure registers in same order 2021-11-03 18:15:42 -07:00
44375b427c restore example and add set_time_stretch api 2021-11-03 15:29:09 -07:00
682274870f set_duty does indeed loop forever 2021-11-02 11:56:01 -07:00
c939edb8d0 rename error enum again 2021-11-02 10:57:01 -07:00
205a223af3 Update versions of critical-section and atomic-polyfill 2021-11-02 18:52:03 +01:00
4647792ad6 seperate start from pwmseq::new 2021-11-01 20:50:18 -07:00
49253152cf seperate sequence from duty cycle pwm struct 2021-11-01 20:50:14 -07:00
74e7f4a227 comments 2021-11-01 13:16:24 -07:00
f2cfbe4262 align pwm.set_duty with embedded hal to not be one shot 2021-11-01 13:08:55 -07:00
5285179218 generalize new and change pwm example to a servo 2021-11-01 13:08:51 -07:00
12b2c5d5f7 better not as a constructor? 2021-11-01 08:54:07 -07:00
90be851e4b reduce complexity of loopmode 2021-11-01 08:45:07 -07:00
48673e27cd fix max sequence length 2021-11-01 01:20:04 -07:00
14dc524b84 documentation 2021-11-01 01:20:01 -07:00
7b092f463e clarify infinite 2021-11-01 00:30:42 -07:00
72fa1c8482 fix additional to remove stuck light at end 2021-11-01 00:25:08 -07:00
d98a1707b9 using write dont need to clear 2021-10-31 23:28:26 -07:00
78e382c9aa stop->sequence_stop 2021-10-31 23:13:49 -07:00
96df2fdb43 lost comment 2021-10-30 16:23:45 -07:00
763e250dfe add ability to configure loop count from 1 to infinite 2021-10-30 16:16:10 -07:00
ee8f76537b at least stop on drop 2021-10-30 11:33:28 -07:00
6d8198a46a move psel back out of if 2021-10-30 11:33:10 -07:00
1d1d8a848e simplify api, more interesting example 2021-10-29 16:39:41 -07:00
eb0bf1fd7a simple_playback api from nrf sdk 2021-10-29 16:27:26 -07:00
663141b4e4 nrf: add initial nrf5340 support 2021-10-28 03:36:25 +02:00
c995a97f20 nrf91: support running in both S and NS mode. 2021-10-26 17:40:07 +02:00
36d3eda2f9 ppi: simplify driver creation.
Moving `new_*` to the version-specific mod allows doing the correct
register writes right there in `new`, without needing abstractions
like `enable_all`/`disable_all`.
2021-10-26 16:52:51 +02:00
c63d747209 Fewer channel traits, more cfg to make the system work 2021-10-26 14:47:34 +02:00
6205d6da47 typo 2021-10-26 14:47:33 +02:00
a6c84cb915 - Interconnect is now PPI again
- Scary pointer math is now contained in the tasks and events
- ppi now sets the tasks and events immediately and the struct is now zero-sized
- StaticToOne is renamed to ZeroToOne
- Used DPPI tasks and events now panic when enabled twice
2021-10-26 14:47:31 +02:00
531dfcffb3 fmt 2021-10-26 14:47:13 +02:00
11655af034 Another redo using the feedback.
PPI is now split up into PPI and DPPI under the name 'interconnect'.
The tasks and events are tracked and reset in the drop function.
2021-10-26 14:47:12 +02:00
e6ec81b999 Fixed examples and added defmt format to the new error types 2021-10-26 14:46:39 +02:00
4950682a50 Some extra docs and better naming 2021-10-26 14:46:39 +02:00