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

Framework for an eic::v2 module #465

Open
bradleyharden opened this issue Jul 2, 2021 · 2 comments
Open

Framework for an eic::v2 module #465

bradleyharden opened this issue Jul 2, 2021 · 2 comments

Comments

@bradleyharden
Copy link
Contributor

@ianrrees brought up some limitations of the current eic module on Matrix. I suggested that he might consider writing an eic::v2 module. Here is the type-level framework that I was imagining for it. Anyone should feel free to pick this up and run with it. I can advise, but I don't have the bandwidth to flesh it out anymore than this.

https://gist.github.com/bradleyharden/09a72714dde9f4dd1122834c6538abf8

@bradleyharden
Copy link
Contributor Author

Hmm. I just realized a flaw with this. You can only have one clock source for the entire EIC. You can't have an individual one for each ExtInt. So the EIController needs to be generic over an OptionalEIClock or something. But each ExtInt still needs to be generic over DetectionMode.

@vcchtjader
Copy link
Contributor

I had a go at this, see glaeqen#2

It is based on Clocking v2 so that presents some complications in regards to creating a PR for easy reviewing, not sure what is the best way forward here, but as it retains v1 and v2 is opt-in.

I use the "Enabled<...>" from clocking to keep track of ExtInt[0..16], but using it directly from clock::v2 makes the documentation end up together with clocking which is far from optimal, so that is for now a copy.

I focused on thumbv7, but found that thumbv6 is a subset of the v7 features which I think would be possible to express via feature flags.

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

No branches or pull requests

2 participants