Commit Graph

109 Commits

Author SHA1 Message Date
3886e2f11f First I2C implementation
Initial I2C HAL implementation.
Only the I2cMaster was tested so far, I2cSlave will be tested next.

Master side was tested with a temerature sensor example application
in the vorago-reb1 crate
2021-12-02 12:05:24 +01:00
bors[bot]
70d9f123ef
Merge #20
20: Smaller updates r=robamu a=robamu

Small fixes

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-12-02 10:57:02 +00:00
7dae33e7ca Merge remote-tracking branch 'origin/main' into develop 2021-12-02 11:55:40 +01:00
d08f936948 Merge branch 'mueller/spi-doc-fixes' 2021-11-21 20:26:04 +01:00
71afe3172e
fixes for SPI documentation 2021-11-21 20:24:44 +01:00
bors[bot]
8f4add54d9
Merge #19
19: Clock passing and SPI Updates r=robamu a=robamu

1. Using `impl Into<Hertz>` instead of Hertz now to increase usability for users
2. Update for SPI API to increase usability

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-21 19:20:45 +00:00
4feb74e4a6 SPI improvements / Clock passing update
1. Using `impl Into<Hertz>` instead of Hertz now to increase
   usability for users
2. Update for SPI API to increase usability
2021-11-21 20:18:42 +01:00
Robin Mueller
e5dba61d6c
Merge pull request #18 from robamu-org/mueller/doc-fixes
Doc fixes and SPI block mode support
2021-11-21 14:10:22 +01:00
283d9d5991 Doc fixes and SPI block mode support
- Various smaller fixes for documentation
- Added support for SPI blockmode
2021-11-21 14:04:17 +01:00
bors[bot]
186e7192cb
Merge #17
17: Added SPI implementation r=robamu a=robamu

- First SPI HAL implementation for blocking mode
- Added example for SPI as well which uses loopback mode
  and regular mode

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-20 22:59:59 +00:00
cbc7c88112
Added SPI implementation
- First SPI HAL implementation for blocking mode
- Added example for SPI as well which uses loopback mode
  and regular mode
2021-11-20 23:57:08 +01:00
bors[bot]
9e7491813e
Merge #16
16: added blocking delay functions r=robamu a=robamu

- DelayUs and DelayMs trait implementations for CountDown timer peripherals
- Tested using an oscilloscope to verify correct timing behaviour
- Bugfix for wait function

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-20 14:10:47 +00:00
2a9225fda5 added blocking delay functions
- DelayUs and DelayMs trait implementations for CountDown timer
  peripherals
- Bugfix for wait function
2021-11-20 15:09:12 +01:00
c07d937c12
added a few inline always directives 2021-11-13 18:58:24 +01:00
de0e000af3
tiny doc tweak 2021-11-13 15:03:50 +01:00
bors[bot]
030b555a7f
Merge #14
14: Added GPIO IRQ interface, refactoring r=robamu a=robamu

- Adds the IRQ interface to configure interrupts on output and input pins
- Moved the `FilterClkSel` struct to the `clock` module, reexporting in `gpio`
- Added function to set clock divisor registers
- Clearing output state at initialization of Output pins
- Added utility function to set up millisecond timer with `TIM0`

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-13 13:53:12 +00:00
af5a831579 Added GPIO IRQ interface, refactoring
- Adds the IRQ interface to configure interrupts on output and input pins
- Moved the `FilterClkSel` struct to the `clock` module, reexporting in `gpio`
- Added function to set clock divisor registers
- Clearing output state at initialization of Output pins
- Added utility function to set up millisecond timer
2021-11-13 14:51:24 +01:00
bors[bot]
1c31e9177d
Merge #13
13: Smaller tweaks r=robamu a=robamu



Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-11 19:03:42 +00:00
04830087da GPIO optimization and tweaks
- Some functions marked inline
- Doc updated
2021-11-11 20:01:40 +01:00
6c9d9f7dfa
smaller tweaks and updates 2021-11-11 18:18:40 +01:00
bors[bot]
2fc9829961
Merge #12
12: Refactored GPIO module r=robamu a=robamu

- The GPIO module uses type-level programming now
- Implementation heavily based on the ATSAMD GPIO HAL:
  https://docs.rs/atsamd-hal/0.13.0/atsamd_hal/gpio/v2/index.html
- Changes to API, but no passing of peripheral references necessary
  anymore. All examples and tests updated accordingly

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-11 16:41:05 +00:00
63be6ed5fe Refactored GPIO module
- The GPIO module uses type-level programming now
- Implementation heavily based on the ATSAMD GPIO HAL:
  https://docs.rs/atsamd-hal/0.13.0/atsamd_hal/gpio/v2/index.html
- Changes to API, but no passing of peripheral references necessary
  anymore. All examples and tests updated accordingly
2021-11-11 17:39:26 +01:00
47e64c2606 Merge branch 'main' of https://github.com/robamu-org/va108xx-hal-rs 2021-11-09 19:32:12 +01:00
93bbfaae8b
updated cross-link to BSP 2021-11-09 19:32:00 +01:00
bors[bot]
0ecae210d3
Merge #10
10: Rust edition bumped & UART implementation r=robamu a=robamu

- Also adds UART example

Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
2021-11-09 17:39:14 +00:00
b18e32e0cc Rust edition bumped & UART implementation
- Also adds UART example
2021-11-09 18:37:52 +01:00
Robin Mueller
541524c59b
Merge pull request #9 from robamu-org/mueller/test-examples-ci
Build examples in CI
2021-11-08 13:43:16 +01:00
c51bc6cb2f Merge remote-tracking branch 'origin/main' into mueller/test-examples-ci 2021-11-08 11:30:58 +01:00
811cc4d022 Testing examples in CI 2021-11-08 11:30:27 +01:00
Robin Mueller
74ec8a9315
Merge pull request #8 from robamu-org/mueller/update-readme
Added proper README
2021-11-08 11:27:28 +01:00
ed4ba39207
Added proper README
- Also contains new simple blinky example
- Small CI update
2021-11-08 11:06:25 +01:00
Robin Mueller
cedff3b26a
Merge pull request #7 from robamu-org/mueller/rtt-example
added RTT example app
2021-11-08 10:19:36 +01:00
cf1d8ff113
Merge remote-tracking branch 'origin/main' into mueller/rtt-example 2021-11-08 10:08:10 +01:00
Robin Mueller
2244c0a7b0
Merge pull request #6 from robamu-org/mueller/tests-example
added tests
2021-11-08 10:07:32 +01:00
e2df601d66 added RTT example app 2021-11-08 10:05:39 +01:00
40a073d6c4 Added tests example 2021-11-08 10:04:08 +01:00
Robin Mueller
8e53678d11
Merge pull request #5 from robamu-org/mueller/timer-implementation
Timer and Clock modules added
2021-11-08 09:48:39 +01:00
41a3682a4e
update changelog 2021-11-08 01:44:44 +01:00
0d935dae50
added timer example code 2021-11-08 01:43:02 +01:00
f3d71cf0f9
Timer and Clock modules added
- Clock module to set and retrieve system clock which can have
  varying frequencies. Also allows enabling peripheral clocks
- Prelude updated
- Common time types added, based on stm32f1xx HAL implementation
- Basic timer implementation added
2021-11-08 01:40:01 +01:00
Robin Mueller
0c235358e4
Merge pull request #4 from robamu-org/mueller/utility-files
added utility files
2021-11-08 01:35:43 +01:00
8f56468a1e
update toml file 2021-11-08 01:34:09 +01:00
c9052285bb
ignoring Cargo.lock now 2021-11-08 01:32:39 +01:00
ee9c8c607b
use x-compile in ci now 2021-11-08 01:26:58 +01:00
710ca71ba3
added utility files 2021-11-08 01:14:25 +01:00
Robin Mueller
c5dc4cf8b6
Merge pull request #3 from robamu/mueller/license-files
added license files
2021-11-08 01:11:03 +01:00
Robin Mueller
a683014730
Merge pull request #2 from robamu/mueller/gpio
Added first GPIO implementation
2021-11-08 01:09:06 +01:00
f153732fcc
applied cargo fmt 2021-11-08 01:04:00 +01:00
2750dbffd3
added license files 2021-11-08 01:03:06 +01:00
021efc5a5a
Update GPIO code 2021-11-08 01:01:44 +01:00