Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for 80Mhz psram, selected using 'psram-80mhz' feature #1073

Merged
merged 9 commits into from
Jan 12, 2024

Conversation

yanshay
Copy link
Contributor

@yanshay yanshay commented Jan 10, 2024

Added support for 80Mhz PSRAM Bus as discussed in #1069

Thank you!

Thank you for your contribution.
Please make sure that your submission includes the following:

Must

  • The code compiles without errors or warnings.
  • All examples work.
  • cargo fmt was run.
  • Your changes were added to the CHANGELOG.md in the proper section.
  • You updated existing examples or added examples (if applicable).
  • Added examples are checked in CI

Nice to have

  • You add a description of your work to this PR.
  • You added proper docs for your newly added features and code.

@bjoernQ
Copy link
Contributor

bjoernQ commented Jan 11, 2024

Thanks! This seems to work fine for me

However, the new features need to get documented here:

//! ### Cargo Features
//!
//! - `async` - Enable support for asynchronous operation, with interfaces
//! provided by [embedded-hal-async] and [embedded-io-async]
//! - `debug` - Enable debug features in the HAL (used for development)
//! - `defmt` - Enable [`defmt::Format`] on certain types
//! - `eh1` - Implement the traits defined in the `1.0.0-xxx` pre-releases of
//! [embedded-hal], [embedded-hal-nb], and [embedded-io]
//! - `embassy` - Enable support for [embassy], a modern asynchronous embedded
//! framework. One of `embassy-time-*` features must also be enabled when
//! using this feature.
//! - `embassy-executor-interrupt` - Use the multicore-aware interrupt-mode
//! embassy executor
//! - `embassy-executor-thread` - Use the multicore-aware thread-mode embassy
//! executor
//! - `embassy-time-systick` - Enable the [embassy] time driver using the
//! `SYSTIMER` peripheral. The `SYSTIMER` peripheral has three alarms
//! available for use
//! - `embassy-time-timg0` - Enable the [embassy] time driver using the `TIMG0`
//! peripheral. The `TIMG0` peripheral has two alarms available for use
//! - `embassy-integrated-timers` - Uses hardware timers as alarms for the
//! executors. Using this feature limits the number of executors to the number
//! of hardware alarms provided by the time driver
//! - `embassy-generic-queue-N` (where `N` can be `8`, `16`, `32`, `64` or
//! `128`) - Use a generic timer queue of size `N` for the executors' timer
//! queues. Using this feature can expand the number of executors you can use
//! to `N`
//! - `log` - enable log output using the `log` crate
//! - `opsram-2m` - Use externally connected Octal PSRAM (2MB)
//! - `opsram-4m` - Use externally connected Octal PSRAM (4MB)
//! - `opsram-8m` - Use externally connected Octal PSRAM (8MB)
//! - `opsram-16m`- Use externally connected Octal PSRAM (16MB)
//! - `psram-2m` - Use externally connected PSRAM (2MB)
//! - `psram-4m` - Use externally connected PSRAM (4MB)
//! - `psram-8m` - Use externally connected PSRAM (8MB)
//! - `rt` - Runtime support
//! - `ufmt` - Implement the [`ufmt_write::uWrite`] trait for the UART driver
//! - `vectored` - Enable interrupt vectoring

Also, we should mention there that it's for qspi RAM only, currently

@yanshay
Copy link
Contributor Author

yanshay commented Jan 11, 2024

Also, we should mention there that it's for qspi RAM only, currently

I can add it to the qspi as well, it should work. Where I read about this it was in context of qspi, but I can't test it to work. To add it there as well?

@bjoernQ
Copy link
Contributor

bjoernQ commented Jan 11, 2024

Also, we should mention there that it's for qspi RAM only, currently

I can add it to the qspi as well, it should work. Where I read about this it was in context of qspi, but I can't test it to work. To add it there as well?

Yes, that would also be good. I don't think I have hardware to test 80MHz OSPI but the code would support it

@yanshay
Copy link
Contributor Author

yanshay commented Jan 12, 2024

Added 80Mhz suppoort to octal psram and documetnation to lib.rs

Copy link
Contributor

@bjoernQ bjoernQ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Thanks!

@bjoernQ bjoernQ added this pull request to the merge queue Jan 12, 2024
Merged via the queue into esp-rs:main with commit 0f9e246 Jan 12, 2024
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants