8000 Add makepython-nrf52840 board, SSD1306 OLED driver, and SharedScreen SyscallDriver by bradjc · Pull Request #3817 · tock/tock · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add makepython-nrf52840 board, SSD1306 OLED driver, and SharedScreen SyscallDriver #3817

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

Merged
merged 5 commits into from
Feb 23, 2024

Conversation

bradjc
Copy link
Contributor
@bradjc bradjc commented Jan 24, 2024

Pull Request Overview

This pull request adds a nRF52840-based board that has an OLED monochromatic display. I implemented the SSD1306 driver to support the display. Otherwise the board is just a normal nRF52840.

This also adds a new screen SyscallDriver, called ScreenShared, which allows a board to partition a screen into multiple rectangles, and assign rectangles to specific apps. The assignments are persistent as they use AppID and not ProcessId.

PXL_20240114_001943371.LS.mp4

This works by having the capsule configured with an [AppScreenRegion] which ties a rectangular frame to a ShortID.

pub struct AppScreenRegion {
    app_id: kernel::process::ShortID,
    frame: Frame,
}

pub struct Frame {
    x: usize,
    y: usize,
    width: usize,
    height: usize,
}

Testing Strategy

Well, see the video. Uses the u8g2 library in userspace.

TODO or Help Wanted

To merge as is we need some more AppID infrastructure which is/will be in other PRs.

Documentation Updated

  • Updated the relevant files in /docs, or no updates are required.

Formatting

  • Ran make prepush.

@bradjc
Copy link
Contributor Author
bradjc commented Feb 5, 2024

This is only blocked on #3829 now.

@bradjc bradjc force-pushed the ssd1306 branch 3 times, most recently from fa279fd to cf6663d Compare February 8, 2024 22:11
@bradjc
Copy link
Contributor Author
bradjc commented Feb 9, 2024

This works now!

alevy
alevy previously approved these changes Feb 21, 2024
MakePython nRF52840
===================

<img src="https://www.makerfabs.com/image/cache/makerfabs/MakePython%20nRF52840/MakePython%20nRF52840-1-1000x750.jpg" width="35%">
Copy link
Contributor

Choose a reason for hiding this comment

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

This image link broke

}
}

/// Default panic handler for the Nano 33 Board.
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmmmm. Maybe just remove this altogether, or say "originally from" or something.

@brghena
Copy link
Contributor
brghena commented Feb 21, 2024

Two small things for @bradjc But after that it's good to go

@bradjc
Copy link
Contributor Author
bradjc commented Feb 23, 2024

Updated

@brghena brghena enabled auto-merge February 23, 2024 16:55
@brghena brghena added this pull request to the merge queue Feb 23, 2024
Merged via the queue into master with commit 046846b Feb 23, 2024
@brghena brghena deleted the ssd1306 branch February 23, 2024 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0