Commit Graph

59 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c5dc4cf8b6 Merge pull request #3 from robamu/mueller/license-files
added license files
2021-11-08 01:11:03 +01:00
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