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

Egui Uppdate and simulator state to keep track of component condition #85

Merged
merged 13 commits into from
Sep 11, 2024

Conversation

Spooky-Firefox
Copy link
Collaborator

@Spooky-Firefox Spooky-Firefox commented Sep 11, 2024

Egui were updated to 0.28.0

egui were updated to 0.28.0, required moving where clock() were called
as the preprocessing previous used have been deprecated. other changes where minor

Simulator State

Overview

State were added to simulator, allowing to set state to StepTo making the simulator automatically stop when a cycle is reached.
It also track if an halt, assert or error occurred during clocking the simulator.

compoennt codition vector were added allowing to se what may have caused a change in running state

GUI

Both simulator state and Componente condition vector were incopretaed into the ui
image

image

Changes

Two simulator fields were added and one changed

  • running -> running_state
    • Used to track if its running, halted, steping to a cycle or a Error ocured
  • component_condition
    • Used to keep track of what condition where reported during current cycle
  • halt_on_warnings
    • If simulation should halt if a components reports a warning

Two struct were created, RunningState and SimulatorError. RunningState enum can be running, stepping, stop, halt, assert or error. and SimulatorError enum is currently not fully implemented but is returned if clock or other function tries to run when state is error.

The Clock function were changed to update state and track component condition. This was done by adding all conditions reported to the vector and get the max Condition of the said vector, using derived compare on condition. The max condition is used to update state to an appropriate value.

some changes in gui were made to add the buttons and labels winch show state and reported conditions.

Misc

  • Default fern setup was changed to stop reporting when a redraw happens.
  • Updated tool-tip for probe

commit 2d5f69f
Author: Olle Ronstad <[email protected]>
Date:   Fri Jul 5 10:54:32 2024 +0200

    fixed clippy and and deprecated methods

commit bafb7ac
Author: Olle Ronstad <[email protected]>
Date:   Fri Jul 5 10:46:25 2024 +0200

    fixed rendering of area by setting constrain to false and stopping text wrapping

commit 2c603ea
Author: Olle Ronstad <[email protected]>
Date:   Thu Jul 4 11:18:16 2024 +0200

    updated to egui 0.28.0, TODO fix rendering of constant

commit 5b9ac00
Author: Olle Ronstad <[email protected]>
Date:   Tue Jul 2 13:35:11 2024 +0200

    fixed warnings

commit 3d4de8f
Author: Olle Ronstad <[email protected]>
Date:   Tue Jul 2 11:33:27 2024 +0200

    moved run simulation code to gui.update

commit 4265fa1
Author: Olle Ronstad <[email protected]>
Date:   Mon Jul 1 11:22:27 2024 +0200

    small fixes

commit 07efe77
Author: Olle Ronstad <[email protected]>
Date:   Mon Jul 1 11:16:11 2024 +0200

    update to use id instead of string

commit ea706d5
Author: Olle Ronstad <[email protected]>
Date:   Mon Jul 1 10:49:46 2024 +0200

    update to use raw scroll delta

commit 50ad133
Author: Olle Ronstad <[email protected]>
Date:   Mon Jul 1 10:25:39 2024 +0200

    update keyboard struct field names

commit 5f3541b
Author: Olle Ronstad <[email protected]>
Date:   Mon Jul 1 10:10:50 2024 +0200

    updated shadow
@Spooky-Firefox Spooky-Firefox added the enhancement New feature or request label Sep 11, 2024
@onsdagens
Copy link
Collaborator

hi, i've fixed up the vizia build, let's see if CI passes.

@onsdagens
Copy link
Collaborator

Seems locally building the RISC-V model also fails, i will also fix that.

@onsdagens
Copy link
Collaborator

Seems good now. As a side note, we should add the RISC-V model (and the MIPS once that's merged) to the CI build and clippy tests.

What about the TODO's? Should we merge this as is or does it need more work first?

Copy link
Collaborator

@onsdagens onsdagens left a comment

Choose a reason for hiding this comment

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

After IRL discussion, the TODOs have been handled. LGTM!

@onsdagens onsdagens merged commit 1e04d8c into perlindgren:master Sep 11, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants