Peter Hartley
25683d610a
Fix new cargo fmt issues
2024-04-15 12:10:46 +01:00
Peter Hartley
fd6d254d52
Add CHANGELOG entry and fix review comments
2024-04-15 12:10:12 +01:00
Peter Hartley
d34ef053fd
Allow interrupt-driven MACRAW operation
...
This commit adds methods to RawDevice that enable interrupt-driven
operation. The enable_interrupt() method sets up SIMR so that
socket-level (internal) interrupts on Socket 0 cause chip-level
(external) interrupts (and as a convenience also sets S0_IR as
required). The disable_interrupt() method reverses those changes.
The clear_interrupt() method acknowledges all interrupts and is
intended to be called from the interrupt handler (or from thread mode
soon afterwards).
There is no change to existing functionality or operation if
enable_interrupt() is never called.
I did see PR#34 before filing this, but that change is focused on
TCP and UDP sockets, and my use case is MACRAW mode.
Tested on a W5500-Pico-EVB board with the RP2040 successfully receiving
and acting on active-low GPIO interrupts from W5500 via the INTn signal
on W5500 pin 36.
2024-04-15 10:47:53 +01:00
Lachezar Lechev
84757c552e
Merge branch 'master' into fix/udp
2023-07-27 12:11:21 +03:00
Ryan Summers
42791c27e5
Merge pull request #54 from LechevSpace/feat/retry-time-and-count
...
Feat: Retry time and count
2023-07-25 17:25:04 +02:00
Ryan Summers
3da66e6eb1
Merge pull request #55 from LechevSpace/chore/socket-and-other-docs
...
Chore: Improve API and add docs
2023-07-25 17:09:57 +02:00
Lachezar Lechev
02063d1c75
chore: PR review comments
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-25 16:16:33 +03:00
Lachezar Lechev
a606fb0980
chore: PR review comments
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-25 16:04:06 +03:00
Lachezar Lechev
eeeb0a24bb
chore: Update changelog
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-22 10:39:33 +03:00
Lachezar Lechev
98715d5247
fix: udp implementation and add more methods
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-22 10:31:01 +03:00
Lachezar Lechev
545debf0e3
chore: simplify
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-13 12:10:46 +03:00
Lachezar Lechev
29f531387d
chore: Bus move default impls to device & uninit device
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-13 11:40:09 +03:00
Lachezar Lechev
1788e43333
feat: define crate as no_std only when not doing tests
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 18:19:27 +03:00
Lachezar Lechev
ed49f20ead
chore: test FourWire with embedded-hal-mock:
...
- Add dev-dependencies for embedded-hal-mock
- add docs for FourWire
- add tests for SPI frames transactions
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:57:28 +03:00
Lachezar Lechev
f1c6a7a97b
docs: document registers socketn
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:51:49 +03:00
Lachezar Lechev
c6e5c58845
feat: get device state and more derives
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:50:34 +03:00
Lachezar Lechev
43fda7bab1
fix: device import & rustfmt
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:44:01 +03:00
Lachezar Lechev
dbb9189b7f
chore: uninit. device - call Bus version method
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:42:09 +03:00
Lachezar Lechev
6ff773d5ed
docs: document initialize_manual default gateway
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:40:47 +03:00
Lachezar Lechev
2735e6a6ee
chore: socket docs
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:36:05 +03:00
Lachezar Lechev
501efeafbc
Merge branch 'master' into feat/retry-time-and-count
2023-07-12 17:32:30 +03:00
Lachezar Lechev
a8214b83ec
feat: device - RetryCount & RetryTime
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:27:42 +03:00
Lachezar Lechev
1450ba0190
feat: uninit. device - RetryCount & RetryTime
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:26:48 +03:00
Lachezar Lechev
2166c39ac4
feat: Bus - add default impls for common registers
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:26:42 +03:00
Lachezar Lechev
a858bd815a
feat: Mode to register value and common mode impls
...
- make crate no_std when not running tests
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:20:27 +03:00
Lachezar Lechev
30b61de2eb
feat: common regs - Mode, RetryCount, RetryTime
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-07-12 17:20:00 +03:00
Felix Lelchuk
1eb9b25c7e
Fix cursor: wrapping_add for ptr, immutable sock
2023-06-23 13:59:54 +02:00
Felix Lelchuk
1f6a8a290c
Allow truncated RawDevice::read_frame()
...
- `RawDevice::read_frame()` succeeds with a receive buffer smaller than the frame.
- Introduce `RxCursor` and `TxCursor` to track/update RX/TX buffer pointers making
it easier to reason about functions such as `read_frame` / `write_frame`.
2023-06-22 11:21:20 +02:00
Ryan Summers
f1504d284d
Fixing format
2023-03-31 13:48:49 +02:00
Ryan Summers
f3b4fa12b3
Fixing crate docs
2023-03-31 13:46:30 +02:00
Ryan Summers
953ed3c7b1
Readding reference docs
2023-03-31 13:45:42 +02:00
Ryan Summers
20981a7963
Fixing clippy lint
2023-03-30 18:02:46 +02:00
Ryan Summers
0d47ea0982
Renaming trait function names, cleaning up docs
2023-03-30 12:54:08 +02:00
Lachezar Lechev
a0c8a42d64
fix: export only InitializeError from the module
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-03-06 14:53:48 +02:00
Lachezar Lechev
c3f79c96ed
feat: derive defmt::Format for more structs and errors
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-03-06 12:54:55 +02:00
Lachezar Lechev
1b2ba0bfab
feat: export uninitialized_device & add docs
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-02-17 17:51:20 +02:00
Lachezar Lechev
f2ac8521b1
feat: defmt + derive for some UDP types
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-02-10 14:51:55 +02:00
Lachezar Lechev
747fe0cca4
feat: export Host
...
Signed-off-by: Lachezar Lechev <elpiel93@gmail.com>
2023-02-10 14:50:08 +02:00
Ryan Summers
9196d005d5
Fixing comment
2022-04-28 11:47:07 +02:00
Ryan Summers
4afe9f6724
Updating docs
2022-04-28 11:47:07 +02:00
Ryan Summers
30293b65a5
Finalizing updates to MACRAW support after testing
2022-04-28 11:47:07 +02:00
Ryan Summers
c25cbe6fdb
Adding macraw support
2022-04-28 11:47:07 +02:00
Wouter Geraedts
259550e3b6
Fix indexing for phy configuration register
2022-04-28 11:32:35 +02:00
Ryan Summers
9327809fe7
Add TCP-based NAL implementation ( #24 )
...
* Adding TCP-based NAL implementation
* Updating NAL dependency
* Updating connect to handle network errors
* Adding support for getting IP and MAC, allowing transparent access to the W5500 in the interface.
* Fixing TCP connect when not in INIT
* Adding wait after reset
* Reverting changes
* More delta reductions
* Fixing format
* Updating changelog
* Fixing docs
* Updating NAL version
* Adding debug derive
* fixing TCP write
* Updating RX receive size to allow less than 8 bytes
* Fixing clippy lints
2022-01-23 13:30:08 +01:00
Michael Watzko
2f4603d0bc
Make clippy happy :)
2021-07-24 18:00:37 +02:00
Michael Watzko
96c6edfd81
Take ownership of Spi in activate_ref
2021-04-16 01:30:11 +02:00
Michael Watzko
3489574603
Recent only relevant socket interrupt flags to not loose in-flight data
2021-04-16 01:24:51 +02:00
Michael Watzko
d58ab215b1
Add DeviceRefMut that allows device operation without moving ownership
2021-04-08 01:20:18 +02:00
Michael Watzko
ee415c63f0
Ensure that every udp socket can connect at the same time
2021-04-08 00:24:10 +02:00
Michael Watzko
6c6681d579
Ensure that the chip-select pin is high at the end of a frame transaction
2021-04-06 19:27:17 +02:00