Commit Graph

51 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
412e414198 rust: Add comment 2020-02-07 19:50:37 +00:00
Wladimir J. van der Laan
8806f01455 rust: Add LCD shutdown function 2020-02-07 18:48:45 +00:00
Wladimir J. van der Laan
9e6c9f5a8f rust: i2c: Reset I2C controller at initialization
Prevent random hangs when restarting the application because
the I2C controller is still in a busy state.
2020-02-07 18:48:45 +00:00
Wladimir J. van der Laan
a1c65405ea rust: Clean up cargo patches
No more need for any `k210-hal` and `k210-pac` patches with 0.2.0
2019-12-28 20:17:37 +00:00
Wladimir J. van der Laan
68faef6cf4 rust: SPI clock speed constant for LCD 2019-08-21 14:56:04 +00:00
Wladimir J. van der Laan
37cf4ad5a2 rust: Test PLL computation against output of C implementation 2019-08-21 14:55:31 +00:00
Wladimir J. van der Laan
eab9d94a1b rust: Return usable PLL register values directly from the computation
The internal representation and parameter names are just an implementation detail.
2019-08-21 09:01:55 +00:00
Wladimir J. van der Laan
9bdf7ea2df rust: Factor PLL computation out from sysctl
If you need to have mystery meat algorithms, at least abstract
them.
2019-08-21 08:49:41 +00:00
Wladimir J. van der Laan
d7eb8dd0e8 rust: sysctl PLL setting
Port over the terrible PLL frequency setting code, and use it to set up
the clocks for every demo.
2019-08-20 21:18:23 +00:00
Wladimir J. van der Laan
1990bff89f rust: k210-pac dependency bump 2019-08-15 12:48:41 +00:00
Wladimir J. van der Laan
0dcbeda646 rust: sdcard read/write sectors using DMA 2019-08-12 17:43:16 +00:00
Wladimir J. van der Laan
ed91b43e2a rust: sdlcd improvements
- Init error reporting
- Put 16-bit halves of display output correctly
- Better comments
2019-08-12 07:37:32 +00:00
Wladimir J. van der Laan
862407a1bc rust: Comment update 2019-08-11 18:16:53 +00:00
Wladimir J. van der Laan
e32ba5b66a rust: Bump LCD SPI clock rate
Now that LCD is using DMA, the SPI clock rate can be increased.
2019-08-11 18:16:53 +00:00
Wladimir J. van der Laan
a5d1f5c9ae rust: Make SPI send/recv loops nicer
Use iterators to make the loops simpler.
2019-08-11 18:16:53 +00:00
Wladimir J. van der Laan
161bd9982e rust: Prefer X::from to as X 2019-08-11 18:16:44 +00:00
Wladimir J. van der Laan
c2c6287f9c rust: Basic sdcard test
Print SD card information and dump a sector.
2019-08-11 09:56:54 +00:00
Wladimir J. van der Laan
4e5ea50f08 rust: lcd: Clarify magic values 2019-08-07 11:27:49 +00:00
Wladimir J. van der Laan
e86d5c5f75 Use DMAC for display everywhere
This mimics the way the Kendryte SDK does things—it is better because
the MMIO based SPI tends to sometimes lose synchonization when the CPU
doesn't keep up providing data fast enough.
2019-08-07 10:22:05 +00:00
Wladimir J. van der Laan
2906c8c895 DMAC!
Add basic DMAC support (SPI/LCD first).

The current implementation (adding _dma to LCD traits) is really, really
awkward and just for testing. Probably it would be better for the LCD to
own its own dedicated DMA channel to avoid having to pass them in
for every… single… thing…
2019-08-07 09:19:44 +00:00
Wladimir J. van der Laan
d4b2b6bbbd rust: Dependency bump k210-hal
Peripherals moved to pac, UARTS take the pins to use and internally
configure sysctl.
2019-07-03 18:24:24 +00:00
Wladimir J. van der Laan
c1fc53d249 Dependencies bump 2019-07-02 17:20:39 +00:00
Wladimir J. van der Laan
3ff4933a88 Comment updates 2019-07-02 15:13:22 +00:00
Wladimir J. van der Laan
ec7ce47dff rust: Add rust version of glyph mapping demo 2019-06-02 12:51:51 +00:00
Wladimir J. van der Laan
d20791330d rust: Remove wrong comment from dvp 2019-06-01 22:51:53 +00:00
Wladimir J. van der Laan
9bdd98f29b rust: Clean up SPI interface
Selectively borrow types from pac, this breaks the need for a direct
dependency on pac for clients of SPI and makes the interface easier to
use.
2019-06-01 22:07:52 +00:00
Wladimir J. van der Laan
00ac503e3e rust: clean up FPIOA interface
Remove need for .into() everywhere by accepting everything
that goes into usize in the appropriate methods.
2019-06-01 21:56:35 +00:00
Wladimir J. van der Laan
1630dc2a31 rust: Add dvp-ov 2019-06-01 21:56:35 +00:00
Wladimir J. van der Laan
cd7f72f03f rust: Improve DVP interface
Clean up interface a bit.
2019-06-01 21:56:35 +00:00
Wladimir J. van der Laan
8cc5ff53f5 rust: DVP
Add support for DVP peripheral.
2019-06-01 21:56:35 +00:00
Wladimir J. van der Laan
5f2c94fa01 rust: Simplify I2C traits
All the I2C blocks are the same, no need for all the different
abstractions. Fix a wrongly copy-pasted comment.
2019-06-01 09:35:42 +00:00
Wladimir J. van der Laan
62b594b8dc rust: make PWM usable with every timer 2019-05-31 16:17:11 +00:00
Wladimir J. van der Laan
d14c640356 rust: Add rgbcontrol 2019-05-23 13:53:02 +00:00
Wladimir J. van der Laan
72a5434397 rust: uart-passthrough set baudrate and reset 2019-05-21 12:09:10 +00:00
Wladimir J. van der Laan
d07fd84160 Unify license and CoC
No need to have a zillion copies of these in the repository. Also remove
references to RISC-V team.
2019-05-20 15:59:28 +02:00
Wladimir J. van der Laan
3b70f3cdc1 rust/sysctl: clock_get_freq for all clocks 2019-05-18 20:20:22 +00:00
Wladimir J. van der Laan
ce28856653 rust: LCD x/y y/x orientation 2019-05-18 19:51:24 +00:00
Wladimir J. van der Laan
5e1213870c rust/i2c: Use variants in init 2019-05-18 19:29:55 +00:00
Wladimir J. van der Laan
b14679e35a rust: Generalize I2C peripheral 2019-05-18 19:07:17 +00:00
Wladimir J. van der Laan
13b91fe993 rust: Generalize SPI peripheral 2019-05-18 18:14:26 +00:00
Wladimir J. van der Laan
f69a77eb84 rust/sysctl: Implement resets 2019-05-17 19:12:59 +00:00
Wladimir J. van der Laan
44cad99478 rust/sysctl: APB clocks 2019-05-17 18:07:39 +00:00
Wladimir J. van der Laan
1b48da7be0 rust/k210-shared: More helpful panic handler
Try sending the panic message to UARTHS.
2019-05-15 08:14:49 +00:00
Wladimir J. van der Laan
a7f437c8ce rust: Add accelerometer 2019-05-14 17:19:25 +02:00
Wladimir J. van der Laan
08cd58654f rust: enum for I/O pin definitions 2019-05-14 11:30:22 +00:00
Wladimir J. van der Laan
582092810f rust: Use core::cmp where useful
Write clamping expressions shorter.
Thought it didn't exist in no_std...
2019-05-13 20:18:56 +00:00
Wladimir J. van der Laan
927a21229e rust: Add game-of-life 2019-05-13 19:57:59 +00:00
Wladimir J. van der Laan
0572038b07 rust: Add i2c module
Just enough to support NS2009 for now.
2019-05-13 19:57:01 +00:00
Wladimir J. van der Laan
3ba2204102 rust/sysctl: clock_get_freq add I2Cx clocks 2019-05-13 13:31:09 +00:00
Wladimir J. van der Laan
8dff340565 rust/sysctl: Handle all peripheral clocks 2019-05-13 09:30:23 +00:00