Commit Graph

191 Commits

Author SHA1 Message Date
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
Wladimir J. van der Laan
e9f95b7e0d rust: Fix orientation in dvp-ov
Camera image was rotated by 180 degrees, the easiest way to fix this
is to rotate the display from LRUD to RLDU.
2019-06-01 23:25:41 +00:00
Wladimir J. van der Laan
610af76592 rust: esp8266at: Wrap parsing of responses to avoid exposing dependency on nom
Makes it possible to switch parser later for whatever reason,
it's undesirable to expose these implementation details to clients.
2019-06-01 23:06:00 +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
f8166abd0f rust/esp8266at: Pass a FnMut directly
There's no good reason to require a mutable reference to a closure
here.

Also works around https://github.com/rust-embedded/riscv-rt/issues/33
2019-05-31 11:31:14 +00:00
Wladimir J. van der Laan
76fcc08c46 WIP: improve weather
Fix Rust warnings etc.
2019-05-30 20:38:05 +00:00
Wladimir J. van der Laan
1235edb40c rust: Update k210-pac commit
Use latest version.
2019-05-30 19:51:26 +00:00
Wladimir J. van der Laan
21a834f162 esp8266at: Add listen support 2019-05-30 19:44:04 +00:00
Wladimir J. van der Laan
df87ec9e90 rust: k210-console improvements 2019-05-30 19:37:38 +00:00
Wladimir J. van der Laan
0f2c36805b doc: of toolchains and loading 2019-05-27 12:24:48 +02:00
Wladimir J. van der Laan
36dff385d9 doc: Add note about nightly to README 2019-05-27 10:02:54 +02:00
Wladimir J. van der Laan
71b427b188 rust: Add weather
Add `weather` demo, also extend console as necessary to handle wttr.in's escape codes.
2019-05-27 07:51:21 +00:00
Wladimir J. van der Laan
bfe58fe72b rust: Add esp8266at library
Add library for communicating with WiFi using the ESP8266 using AT
commands.

This really should have its own repo at some point.
2019-05-27 07:51:21 +00:00
Wladimir J. van der Laan
adc1e73ad1 rust: clamp instead of ignore out-of-bounds events in rgbcontrol
Improve responsiveness at edges of screen.
2019-05-27 07:51:21 +00:00
Wladimir J. van der Laan
678366a4d6 Fix debug printing in uart-passthrough demo 2019-05-27 09:50:44 +02:00
Wladimir J. van der Laan
d14c640356 rust: Add rgbcontrol 2019-05-23 13:53:02 +00:00
Wladimir J. van der Laan
8ca44a288f Add demo for uart-passthrough 2019-05-21 17:10:51 +02: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
a9b7ed1a43 rust: Add uart-passthrough 2019-05-20 15:58:09 +02:00