Internships/ProjectIdeas/ArduinoVisualisation:detail: Difference between revisions

From QEMU
No edit summary
No edit summary
Line 37: Line 37:
|'''Oscilloscope''': the widget could be connected to any pin showing the updated signal generated by QEMU.
|'''Oscilloscope''': the widget could be connected to any pin showing the updated signal generated by QEMU.
|}
|}
= Execution flow =
[[File:ejecution_flow.png|800px|Execution flow.]]
When the visualizer is run with a board a netlist is selected. The netlist is parsed by the app looking for the widgets used and generating a QEMU execution line.
The QEMU execution line will generate all the interface devices needed and will let ready the core for code execution.

Revision as of 10:10, 9 March 2020

QEMU emulated Arduino board visualizer.

The QEMU emulated Arduino board visualizer is a platform for QEMU based board emulation interfacing.


Using the inteface a board is defined as a group of *widgets* connected to the Ardunio. Each widget is defined as a block that can have two features:

  • User interaction: the user can modify the parameters of the widget.
  • Visualization: the widget will show updates of the state of the circuit.

Widgets

Led with brightness widget.
Led with brightness: the widget indicates the brightness of the led.
  • If the led is connected to a GPIO pin the brightness could be full brightness or none depending on the GPIO state.
  • If the led is connected to a PWM pin the brightness will be proportional to duty cicle of the signal.
Apple
Potentiometer widget.
Potentiometer: the widget modifies the middle point of the potentiometer configuring a variable voltage to the ADC.
Switch widget.
Switch: the widget will be used to turn on/off all the board. The state of the switch is represented with a colored box with text:
  • Open: Green.
  • Closed: Red.
Serial console widget.
Serial console: the widget will show the updated serial output.
Button widget.
Button: the widget could be modify by the user. While the button is pressed the pin is connected to GND and HiZ when not.
Oscilloscope widget.
Oscilloscope: the widget could be connected to any pin showing the updated signal generated by QEMU.


Execution flow

Execution flow.

When the visualizer is run with a board a netlist is selected. The netlist is parsed by the app looking for the widgets used and generating a QEMU execution line.

The QEMU execution line will generate all the interface devices needed and will let ready the core for code execution.