Skip to content

metro: Hello, world! - #2676

Merged
jamesmunns merged 6 commits into
masterfrom
james/hello-metro
Sep 11, 2026
Merged

jamesmunns merged 6 commits into
masterfrom
james/hello-metro

Conversation

@jamesmunns

Copy link
Copy Markdown
Contributor

Adds a new, mostly commented out, definition for "Metro" compute sled hardware.

This PR is basically:

  1. A copy and paste of cosmo, based on the current cosmo/rev-b.toml changes applied to metro/base.toml
  2. A find and replace of cosmo to metro in the app/metro folder
  3. Commenting EVERYTHING except for the kernel, jefe, and the idle task (and also commenting out some features of those)

The intent is to start with everything commented out (and CI being green), and work with @labbott over the next bit to review and uncomment one block at a time as necessary.

We may not want to squash-merge this PR, but I'm open to thoughts on that.

@jamesmunns
jamesmunns requested a review from labbott September 7, 2026 18:22
Comment thread app/metro/src/main.rs

@labbott labbott left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

A few notes on what order we might want to prioritize adding things just so that it Does Something

Comment thread app/metro/src/main.rs
// initialized, the peripherals won't work, but the result should not be
// _fatal._

// Pin mapping:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Spot check shows these still match

Comment thread app/metro/src/main.rs
Comment on lines +279 to +281
// NOTE: this implementation only brings up a 20-bit address on the FMC bus,
// because that's what worked on Grapefruit. The hardware supports a 24-bit
// address!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Still a relevant comment ?

Comment thread app/metro/base.toml
# task-slots = ["i2c_driver", "sensor", "metro_seq"]
# notifications = ["timer"]

# [tasks.hiffy]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd vote to get hiffy added ASAP since we may want to use it to hit things with hammers

Comment thread app/metro/base.toml
# stacksize = 4000
# notifications = ["timer"]

# [tasks.update_server]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This should be safe to bring in since it's pure STM32H7

Comment thread app/metro/base.toml
Comment on lines +67 to +83
# [tasks.sys]
# name = "drv-stm32xx-sys"
# features = ["h753", "exti", "no-panic"]
# priority = 1
# uses = ["rcc", "gpios", "system_flash", "syscfg", "exti"]
# start = true
# task-slots = ["jefe"]
# notifications = ["exti-wildcard-irq"]

# [tasks.sys.interrupts]
# "exti.exti0" = "exti-wildcard-irq"
# "exti.exti1" = "exti-wildcard-irq"
# "exti.exti2" = "exti-wildcard-irq"
# "exti.exti3" = "exti-wildcard-irq"
# "exti.exti4" = "exti-wildcard-irq"
# "exti.exti9_5" = "exti-wildcard-irq"
# "exti.exti15_10" = "exti-wildcard-irq"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd vote to review/enable this first since this should mostly be STM32H7 specific things

Comment thread app/metro/base.toml
# task-slots = ["sys", "i2c_driver"]
# stacksize = 800

# [tasks.user_leds]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is also a useful one to enable quickly

@nathanaelhuffman

Copy link
Copy Markdown
Contributor

A general comment is that metro will have a new sequencer FPGA image that is not common with cosmos, though for most purposes they'll look the same barring some new features around programming the Versal etc.

I'm working on getting preliminary bit files but we can start the plumbing by renaming a cosmo seq image if that is helpful

@jamesmunns jamesmunns mentioned this pull request Sep 10, 2026
76 tasks
@jamesmunns

Copy link
Copy Markdown
Contributor Author

Opened up a tracking issue for follow-up work for this PR: #2678, might be better to move discussions/notes there instead of this PR which I hope to merge Soon™️.

@jamesmunns
jamesmunns merged commit 88aa7cd into master Sep 11, 2026
196 checks passed
@jamesmunns
jamesmunns deleted the james/hello-metro branch September 11, 2026 10:59
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