Commit Graph

117 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
ce5c41f0da rust: use repr(C) for aligned structs
Just a precaution: we want a predictable layout here.
2019-09-05 11:17:23 +00:00
Wladimir J. van der Laan
adfa176f77 doc: Add some random info about KPU 2019-08-30 17:59:57 +00:00
Wladimir J. van der Laan
a6feb00fc8 doc: remove CH340C and MSM261S4030H0 from Sipeed M1 description
These are not actually part of the M1 module, but are on the back side
of the Sipeed Dock.
2019-08-30 17:55:09 +00:00
Wladimir J. van der Laan
dfd14f517f rust: address 0xffffffff80000000 → 0x80000000
Try working without address work-around to aid debugging and disassembly.
2019-08-29 10:19:32 +00:00
Wladimir J. van der Laan
1397aa19db rust: Animate dot in embfx
Also add bounds check for pixels iterator (whoops).
2019-08-28 07:53:35 +00:00
Wladimir J. van der Laan
860bda159a rust: Simplify and optimize pixel iterator
It should be entirely safe to write u16 to a u32 array: no alignment
issues, no risk of creating undefined values.
2019-08-28 07:05:53 +00:00
Wladimir J. van der Laan
d1ee942f10 rust: Add embgfx demo 2019-08-26 08:37:09 +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
f8f7235daa rust: UART/network optimizations 2019-08-18 14:40:19 +00:00
Wladimir J. van der Laan
2840ec0cf9 doc: Add important note on I2C addresses 2019-08-18 11:32:53 +00:00
Wladimir J. van der Laan
213ca1d50e rust: Use buffered UART1 in term-server and weather 2019-08-16 17:27:39 +00:00
Wladimir J. van der Laan
1118d708b1 rust: Actually provide trap handler 2019-08-15 20:53:22 +00:00
Wladimir J. van der Laan
335f728b72 rust: Drop cc-rs patch
1.0.40 was released with RISC-V support !
2019-08-15 14:57:53 +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
b6b5d13b0c rust: Add interrupt test
really want to handle UART interrupts so this needs PLIC
and dispatching but this is a start…
2019-08-14 18:35:38 +00:00
Wladimir J. van der Laan
31da4a7cd7 rust: Update secp256k1 dependency to 0.15.2
`lowmemory` feature was merged upstream, no need for a patch anymore.
2019-08-14 17:57:05 +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
a46b314c6d rust: Clean up sdlcd, add ffmpeg commandline to README 2019-08-12 06:57:27 +00:00
Wladimir J. van der Laan
31dc21ce85 rust: Add sdlcd example
Stream raw SD card contents directly to LCD screen.
2019-08-11 18:16:53 +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
ff1e5c5483 Rust dependency bump 2019-08-09 14:51:54 +00:00
Wladimir J. van der Laan
6056338e93 rust/secp256k1-test: Pushing bits upstream
Not yet upstream:
- cc-rs: disable fPIC for risc-v targets
- secp256k1: low-memory feature
- riscv-rt: .sdata2 sections linker script
2019-08-08 06:48:30 +00:00
Wladimir J. van der Laan
d9434deb22 rust/game-of-life: Check toggle coords against correct bounds 2019-08-07 18:32:09 +00:00
Wladimir J. van der Laan
4ed4555586 rust: Add secp256k1 test 2019-08-07 18:14:48 +00:00
Wladimir J. van der Laan
e43668a88c rust: Remove k210-pac patch
Upstream k210-pac is good enough now, no need to override it anymore.
2019-08-07 13:01:01 +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
59fe6125a6 Merge branch 'master' of https://github.com/laanwj/k210-sdk-stuff 2019-08-05 18:14:39 +00:00
Wladimir J. van der Laan
3c7451e04f doc: Clean up lcd controller line in onboard.md 2019-08-01 23:26:35 +02:00
Wladimir J. van der Laan
0f15e5f85d weather: Repeat query every 10 minutes 2019-07-26 12:32:04 +00:00
Wladimir J. van der Laan
838067dcb0 esp8266at: Add 'dyn' for traits as requested by compiler 2019-07-26 11:15:39 +00:00
Wladimir J. van der Laan
c091f406eb Fix cargo build in /rust
Move esp8266 out of the workspace, it defaults to `nom` with different
features (`std` enabled) which means that `std` gets enabled for use of
nom (see https://github.com/rust-lang/cargo/issues/4463).

This caused the build to fail with missing std in riscv-….
2019-07-26 11:06:22 +00:00
Wladimir J. van der Laan
427e370600 rust: Bump riscv-rt dependency
This version bump is necessary to get a linker script that works with
newer nightlies.
2019-07-23 18:29:06 +00:00
Wladimir J. van der Laan
6cd6168038 rust: Add term-server demo 2019-07-06 16:00:06 +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
02f1e24258 rust/weather: Revert unintentional changes 2019-07-02 17:53:40 +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
1531cc8fe0 dvp-ov: Align frame to 64 bytes
The magic seems to work without (how do we even DMA without the DMAC?),
but when in doubt better to follow the SDK.
2019-06-02 09:56:39 +00:00