/PROFino

A simple profiler for Arduino.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

PROFino

A simple live-profiler for Arduino, PROFino provides infos about the time spend on each called function, as well as the numbers of calls itself. PROFino can be used on terminal or on it's GUI.

  • PROFino CLI (Command Line Interface):

PROFino CLI

  • PROFino GUI (Graphical User Interface):

PROFino GUI

After the profiling via GUI stops, a graph with the collected data is displayed.

Graph

Dependencies

Usage

-h --help           Displays help.
-c --source         Path to source code.
-p --port           USB port where the Arduino is connected, Ex: /dev/ttyACM0, /dev/ttyUSB0.
-g --graphic        Flag that indicates if the program must run in GUI mode.

Example: ./PROFino.py -c source.c -p /dev/ttyXXXX or python PROFino.py -c source.c -p /dev/ttyXXXX

//TODO:

  • Create basic project structure
  • Serial communication
  • Define communication protocol
  • Implement communication protocol
  • Test communication protocol
  • Define instrumentation aproach
  • Instrument the code
  • Collect execution data
  • User interface
  • Displays data in graphics

Video

https://drive.google.com/file/d/13c98j-Y4IG-9W579r95KxkXJdLuvI_3M/view?usp=sharing