Dylan McKay
f973881e60
Add 'avr_delay' as a dependency and expose crate
2021-02-02 01:50:14 +13:00
Dylan McKay
8d3c2466ce
Use 'avr-config' for CPU frequency logic rather than reimplement it
...
This crate is also used by the 'delay' crate.
2021-02-02 01:45:41 +13:00
Dylan McKay
372f774176
Run re-generate MCU cores script
2021-01-29 20:44:08 +13:00
Dylan McKay
fc6531296a
Fix a 'invalid URL' rustdoc warning
2021-01-29 20:44:08 +13:00
Dylan McKay
9fbcff1f45
Regenerate the core files, committing them to VCS for the first time
2021-01-29 20:44:08 +13:00
Dylan McKay
ccad9c169b
Stop autogenerating config.rs file
2021-01-29 20:44:08 +13:00
Dylan McKay
0311381490
Remove autogenerated files from .gitignore file
...
Keep them in version control from now on.
2021-01-29 20:44:08 +13:00
Dylan McKay
79dd2543a1
Use volatile write operation for 'set_mask_raw' function
...
The other methods had previously been updated to use volatile memops,
but due to an oversight this method was missed.
Fixes avr-rust/ruduino#31 .
Thanks to @MalteT for reporting this issue.
2020-10-30 01:04:47 +13:00
Paul Daniel Faria
c11738600f
Export ClockSource and WaveformGenerationMode for each timer
2020-08-24 20:48:32 +12:00
Dylan McKay
3868326bca
Replace regular memory read/writes with volatile memory read/writes
...
Fixes #21 .
2020-07-31 22:04:16 +12:00
Jake Goulding
fe0720d53e
Always inline disabling interrupts
...
It never makes sense to call a function for these two instructions.
Additionally, I use this at system boot time to configure the stack
pointer itself. If this becomes a function call, then _everything_ is
broken!
2020-07-26 03:25:21 +12:00
Jake Goulding
74a824ba29
Merge pull request #25 from shepmaster/from-vs-into
...
Prefer implementing From instead of Into
2020-07-25 11:15:46 -04:00
Dylan McKay
9904454521
Make the 'avr-std-stub' dependency optional
...
This way, downstream users may user their own panic handlers and
exception handling personality functions if they desire.
2020-07-26 03:08:40 +12:00
Jake Goulding
c02a95baa5
Make the std-stub optional
...
This allows people to provide their own `panic_handler`
2020-07-25 10:05:35 -04:00
Jake Goulding
3148d18363
Prefer implementing From instead of Into
2020-07-25 10:04:35 -04:00
Dylan McKay
869113a693
Use the std stub definitions from the 'avr-std-stub' crate
2020-07-26 00:33:58 +12:00
Dylan McKay
6dfffaa3f9
Factor the 'std_stub' module out into the 'avr-std-stub' crate
...
This way it can be reused by other crates.
2020-07-26 00:24:09 +12:00
Dylan McKay
2a3bcbda02
Fix device detection logic
2020-07-25 01:57:04 +12:00
Jérémie Drouet
e6cc6005ef
Add missing public new function for Timer16
...
This function is public for `Timer8`
2020-07-22 22:37:25 +02:00
Dylan McKay
0963ff0f7f
Switch the crate to Rust edition '2018'
2020-06-20 06:03:43 +12:00
Dylan McKay
d85627612e
Remove the 'panic_handler' feature from crate attributes
...
The feature has been stabilized for quite a while now.
2020-06-20 05:59:48 +12:00
Dylan McKay
181a0b7214
Update uses of the deprecated 'asm!' macro to 'llvm_asm!'
2020-06-20 05:57:37 +12:00
Dylan McKay
49a34da4e2
Fixes from incorrect rebase
2018-11-05 23:37:50 +13:00
Dylan McKay
3fbe33504a
Fixes
2018-11-05 23:35:46 +13:00
Dylan McKay
aecd4edb36
Rename Mask to RegisterBits
...
This is much more intuitive.
2018-11-05 23:32:51 +13:00
Dylan McKay
f90d5b2d0b
Clean up the documentation and public exports
...
The interrupt helper struct does not need to be public.
Add some documentation to a bunch of types.
2018-11-05 23:32:51 +13:00
Dylan McKay
f94b23ed1d
Use the new panic handler feature
...
The "panic_fmt" lang item no longer exists; it has been replaced with
the unstable feature #[panic_handler]
2018-11-05 23:32:51 +13:00
Dylan McKay
4b451634e7
Rename AVR_FREQUENCY to AVR_FREQUENCY_HZ
...
A bit less ambiguous.
2018-11-05 23:32:51 +13:00
Dylan McKay
2b58e36065
Add documentation
2018-11-05 23:32:51 +13:00
Dylan McKay
61c62ad0ed
Merge Mask and Bitset, remove Bitset
...
There isn't as much value as I thought in making the distinction.
2018-11-05 23:32:51 +13:00
Dylan McKay
c5946dc846
Remove all compiler warnings
2018-11-05 23:32:39 +13:00
Dylan McKay
d3d41e457a
Silence the half-written module
2018-11-05 23:32:39 +13:00
Dylan McKay
3e29e87d38
Rename ADDR to ADDRESS
2018-11-05 23:32:39 +13:00
Dylan McKay
c5dac9d7c0
Move the serial module into a 'legacy' module
2018-11-05 23:32:39 +13:00
Dylan McKay
ea1aef9b1a
Remove as much atmega328p-hardcoded stuff as possible
2018-11-05 23:32:39 +13:00
Dylan McKay
cb6e0d3b69
Invert the direction of the Register<T> type parameter
2018-11-05 23:32:39 +13:00
Dylan McKay
0157a8553c
Implement the Timer16 trait
2018-11-05 23:32:39 +13:00
Dylan McKay
d125f69f7d
Get 16-bit timers working
2018-11-05 23:32:39 +13:00
Dylan McKay
274d4611ec
More work done
2018-11-05 23:32:39 +13:00
Dylan McKay
1f638dbea3
Add a timer trait
2018-11-05 23:32:29 +13:00
Dylan McKay
468289e05f
Support raw things
2018-11-05 23:32:29 +13:00
Dylan McKay
906b548dfa
Do more work
2018-11-05 23:32:29 +13:00
Dylan McKay
5d65ad4efd
Add a few stubs required from std into the library
2018-11-05 23:32:29 +13:00
Dylan McKay
72b0169d53
Rename RegVal to Register
2018-11-05 23:32:02 +13:00
Dylan McKay
a19ef84d8d
Fix typo
2018-11-05 23:32:02 +13:00
Dylan McKay
f1756787db
Make a module public
2018-11-05 23:32:02 +13:00
Dylan McKay
fcca0f8c27
Place ports into their own module
2018-11-05 23:32:02 +13:00
Dylan McKay
61b32145df
Improve the names of the Spi trait consts
2018-11-05 23:32:02 +13:00
Dylan McKay
394e07e160
Hardware usart support
2018-11-05 23:32:02 +13:00
Dylan McKay
d833813374
Support auto-generated cores
2018-11-05 23:32:02 +13:00