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

Readthedocs first integration #374

Closed
wants to merge 99 commits into from
Closed

Conversation

JoseCalero
Copy link
Collaborator

First integration of the documentation engine. Both for local building and for online readthedocs building management (you can already see the output in here).
From this point we can already discuss how we want the documentation to be organized, displayed, etc.

JoseCalero and others added 30 commits August 11, 2022 16:56
- For the Makefile within the SW folder, the wildcard was not behaving as expected for GNU make 4.3.
- For the general Readme, added the verible stuff before any make, and adding an initial folder structure. This structure can be helpful for someone new to get a initial organizational sense of the project.
…TOS porting

1. Makefile doc automatisation
2. CMake
3. FreeRTOS porting (new linker tpl, new vectors.S)
- Avoid creating an extra template for freertos linker.
- Modifying CMakeLists to be compliant with all apps (baremetal and freertos based)
- Readme and other minor modifications
- change pin assignment to get the tricolor led working for the freertos application
- Modify readme files to update with all the different commands
- created a gdbInit file
No need to deal with hard-coded paths, CMake searches for you! :)
remove some comments
add additional command to directly run blinky freertos
@JuanSapriza
Copy link
Contributor

🥳 Good news!

  1. We now support markdown documents :)
  2. We now can add documents in folders.

As an example I added the DMA.md file in a Peripherals folder inside docs/source.

Requirements to add new documents

  1. Add the new document in markdown to the Peripherals folder
  2. Make sure the document has one single # header, otherwise they will be considered different documents. This is not bad per se... but we might want DMA to be a single point in the index, and not DMA, Introduction, Requirements, etc...
  3. If a new folder is added, add it to the toctree inside docs/source/index.rst (as the peripherals folder is)
  4. Commit and push
  5. Open a terminal in the docs folder and run make clean html
  6. Wait a few minutes and enjoy your brand new documentation in Read the Docs.

Additional changes

To accommodate all these changes I had to

  1. Add a .readthedocs.yaml document in the root directory pointing to the configuration script and requirements
  2. Include a new package as a requirement and in the config file to build markdown
  3. Add a toctree at the end of the index.rst file (which I would have rather not)

@JuanSapriza
Copy link
Contributor

@JoseCalero One thing I noticed is that the docu is always seen until half the screen

image

Do you know if this is a configuration?

@JuanSapriza
Copy link
Contributor

JuanSapriza commented Sep 28, 2023

I added all the documentation that was floating around in the base directory into a How to folder and formatted the index of the left bar.

@JoseCalero @davideschiavone @simone-machetti you guys might want to take a look at how its looking, because some documentation might need some update or reorganizing/relabelling

In particular, the last section of External Devices is referring to the memcopy peripheral which i dont quite remember what was of it

Copy link
Contributor

@JuanSapriza JuanSapriza left a comment

Choose a reason for hiding this comment

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

There are some fixes that need to be done, but it can be merged imo

@@ -92,8 +92,8 @@ To create and maintain a peripheral unit efficiently, use the `reggen` tool:

2. Launch the `regtool.py` script to generate SystemVerilog RTL code and a C header file.

For example, launching the script [`memcopy_periph_gen.sh`](./hw/ip_examples/memcopy_periph/memcopy_periph_gen.sh) generates 2 SystemVerilog files and one C header file:
Copy link
Contributor

Choose a reason for hiding this comment

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

All the references to the mempy peripheral should be removed

@@ -0,0 +1,123 @@
# get started
Copy link
Contributor

Choose a reason for hiding this comment

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

The documentation inside the How to folder should be harmonized

Copy link
Contributor

Choose a reason for hiding this comment

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

We should also add a document on how to document.

@JoseCalero JoseCalero closed this Oct 5, 2023
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

Successfully merging this pull request may close these issues.

2 participants