# PM-Notebooks
--------------
> Jupyter Notebook Demos for Platform Management (PM) Features
> Xilinx wiki for Zynq UltraScale+: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842232

NOTE
----
The notebooks have a dependency on following packages:
 - 'python3-ipywidgets': an extension to Jupyter Notebook core for displaying widgets
 - 'python3-pydot' used in "clktree" demo to generate a directed graph (uses graphviz)
These are pre-installed in the rootfs from official Petalinux BSPs.

However, you need to run the following commands from shell once before running the demos,
if the server is not already running using default init script:

This is to enable Jupyter notebook widget extension:
	$ jupyter nbextension enable --py widgetsnbextension

This is in case graphviz isn't configured:
	$ dot -c

To spawn a Jupyter notebook server pointing to default notebook directory for pm-notebooks, run:

	$ jupyter notebook --allow-root --no-browser --notebook-dir=<path-to-notebooks-dir> --ip=<your-ip>

Now use the link provided by the server to connect to it from any browser client from the same network.

The demos included are:
- CPU Hotplug Demo
- CPU Frequency Scaling Demo
- CPU Clock Tree Demo
- PM Suspend-Resume Demo
- PM Subsystem Restart Demo
