mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 12:42:30 +04:00
[FL-870] Auto-generated firmware documentation take two (#2944)
* Add doxygen and doxygen-awesome css, cleanup docs files * Ignore more libraries and remove leftover local variables * Create an actual intro page * .md files linting * Add doxygen action * Fix Doxygen path * Fix doxyfile path * Try to upload * Change docs branch * Add submudules checkout * Disable doxygen on PR * Mention the firmware docs in the readme * More dev docs mentions in the readme * Fix runner group, add tags * Test dev in PR * Disable running on PR * Fix a typo in the doxyfile * Try upload to S3 * Fix local path * Fix S3 ACL * Add delete flag, unifying dev and tags * Update ignored directories * More ignored directories * Even more ignored directories * Fix submodule * Change S3 uploader * Change S3 uploader version * Fix aws sync flags * Fix ACL * Disable ACL * Improve ignores, add WiFi devboard docs * TEMP: generate dev docs * TEMP: generate 0.89.0 docs * Disabling PR trigger * Enable submodules and test build * Enable test build * Disable test build * Change docs directory structure * Fix accidentally committed submodule * Fix submodules * Update links to the developer documentation * Markdown linting * Update workflow, enable test build * Fix doxygen dir path * Update Doxyfile-awesome.cfg * Change paths * Fix upload docs path * Disable pull_request debug trigger * Disable tags building * Remove autolinks and namespaces * Establish basic documentation structure * Add missing changes * Improve stylesheet, move some files * Improve examples * Improve the main page * Improve application dev docs * Improve system programming docs * Improve development tools docs * Improve other docs * Improve application examples * Fix formatting * Fix PVS-studio warnings * Improve visuals * Fix doxygen syntax warnings * Fix broken links * Update doxygen action Co-authored-by: DrunkBatya <drunkbatya.js@gmail.com> Co-authored-by: あく <alleteam@gmail.com> Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com> Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
This commit is contained in:
11
documentation/doxygen/Doxyfile-awesome.cfg
Normal file
11
documentation/doxygen/Doxyfile-awesome.cfg
Normal file
@@ -0,0 +1,11 @@
|
||||
@INCLUDE = doxygen/Doxyfile.cfg
|
||||
GENERATE_TREEVIEW = YES # required!
|
||||
DISABLE_INDEX = NO
|
||||
FULL_SIDEBAR = NO
|
||||
HTML_EXTRA_STYLESHEET = doxygen/doxygen-awesome-css/doxygen-awesome.css \
|
||||
doxygen/doxygen-awesome-css/doxygen-awesome-sidebar-only.css \
|
||||
doxygen/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css
|
||||
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
|
||||
HTML_HEADER = doxygen/header.html
|
||||
HTML_EXTRA_FILES = doxygen/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
|
||||
|
||||
2655
documentation/doxygen/Doxyfile.cfg
Normal file
2655
documentation/doxygen/Doxyfile.cfg
Normal file
File diff suppressed because it is too large
Load Diff
12
documentation/doxygen/applications.dox
Normal file
12
documentation/doxygen/applications.dox
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
@page applications Application Programming
|
||||
|
||||
Flipper Zero features full support for custom applications which (usually) do not require any changes to the firmware.
|
||||
|
||||
For easy application development, a software tool called [uFBT](https://github.com/flipperdevices/flipperzero-ufbt) is available.
|
||||
|
||||
- @subpage vscode - Flipper Zero integration for VS Code
|
||||
- @subpage apps_on_sd_card - Creating apps that can be dynamically loaded from the SD card
|
||||
- @subpage app_manifests - How applications announce themselves to the system
|
||||
- @subpage app_examples - Various application examples, complete with the source code
|
||||
*/
|
||||
10
documentation/doxygen/dev_board.dox
Normal file
10
documentation/doxygen/dev_board.dox
Normal file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
@page dev_board Developer Board
|
||||
|
||||
[ESP32-based development board](https://shop.flipperzero.one/collections/flipper-zero-accessories/products/wifi-devboard).
|
||||
|
||||
- @subpage dev_board_get_started - Quick start for new users
|
||||
- @subpage dev_board_reading_logs - Find out what is currently happening on the system
|
||||
- @subpage dev_board_fw_update - Keep the developer board up to date
|
||||
|
||||
*/
|
||||
9
documentation/doxygen/dev_tools.dox
Normal file
9
documentation/doxygen/dev_tools.dox
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
@page dev_tools Developer Tools
|
||||
|
||||
Hardware and software tools for all kinds of programming.
|
||||
|
||||
- @subpage fbt - Official build and deployment tool for Flipper Zero
|
||||
- @subpage dev_board - ESP32-based development board
|
||||
- @subpage ota_updates - Standalone firmware self-update mechanism
|
||||
*/
|
||||
1
documentation/doxygen/doxygen-awesome-css
Submodule
1
documentation/doxygen/doxygen-awesome-css
Submodule
Submodule documentation/doxygen/doxygen-awesome-css added at df88fe4fdd
10
documentation/doxygen/examples.dox
Normal file
10
documentation/doxygen/examples.dox
Normal file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
@page app_examples Application Examples
|
||||
|
||||
A collection of examples covering various aspects of application programming for Flipper Zero.
|
||||
|
||||
- @subpage example_app_images - Using images and icons in an application
|
||||
- @subpage example_app_assets - Using application-specific asset folders
|
||||
- @subpage example_app_data - Using application-specific data folders
|
||||
- @subpage example_thermo - Reading data from a 1-Wire thermometer
|
||||
*/
|
||||
8
documentation/doxygen/expansion_modules.dox
Normal file
8
documentation/doxygen/expansion_modules.dox
Normal file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
@page expansion Expansion Modules
|
||||
|
||||
Expansion modules are special pieces of hardware designed to interface with Flipper's GPIO connector, such as the [Video Game Module](https://shop.flipperzero.one/collections/flipper-zero-accessories/products/video-game-module-for-flipper-zero).
|
||||
|
||||
- @subpage expansion_protocol - Transport protocol for smart expansion modules
|
||||
|
||||
*/
|
||||
BIN
documentation/doxygen/favicon.ico
Normal file
BIN
documentation/doxygen/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
13
documentation/doxygen/file_formats.dox
Normal file
13
documentation/doxygen/file_formats.dox
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
@page file_formats File Formats
|
||||
|
||||
Descriptions of various file formats used in Flipper Zero, grouped by applications that use them.
|
||||
|
||||
- @subpage badusb_file_format
|
||||
- @subpage ibutton_file_format
|
||||
- @subpage infrared_file_format
|
||||
- @subpage lfrfid_file_format
|
||||
- @subpage nfc_file_format
|
||||
- @subpage subghz_file_format
|
||||
|
||||
*/
|
||||
84
documentation/doxygen/header.html
Normal file
84
documentation/doxygen/header.html
Normal file
@@ -0,0 +1,84 @@
|
||||
<!-- HTML header for doxygen 1.10.0-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_ICON-->
|
||||
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
|
||||
<!--END PROJECT_ICON-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<script type="text/javascript">var page_layout=1;</script>
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
<!--BEGIN COPY_CLIPBOARD-->
|
||||
<script type="text/javascript" src="$relpath^clipboard.js"></script>
|
||||
<!--END COPY_CLIPBOARD-->
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
$darkmode
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
|
||||
<script type="text/javascript">
|
||||
DoxygenAwesomeDarkModeToggle.init()
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td id="projectalign">
|
||||
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER-->
|
||||
</div>
|
||||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<td>
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<!--BEGIN !FULL_SIDEBAR-->
|
||||
<td>$searchbox</td>
|
||||
<!--END !FULL_SIDEBAR-->
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<tr><td colspan="2">$searchbox</td></tr>
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END SEARCHENGINE-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
||||
25
documentation/doxygen/index.dox
Normal file
25
documentation/doxygen/index.dox
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
@mainpage Overview
|
||||
|
||||
Welcome to the Flipper Zero Firmware Developer Documentation!
|
||||
|
||||
This documentation is intended for developers who want to modify the firmware of the Flipper Zero.
|
||||
|
||||
If you are looking for the user manual, please visit the [User Documentation](https://docs.flipperzero.one/) instead.
|
||||
|
||||
The documentation is divided into several sections, with all of them accessible from the sidebar on the left:
|
||||
|
||||
- @ref applications - Writing applications for Flipper Zero
|
||||
- @ref system - Understanding the firmware's internals
|
||||
- @ref file_formats - Saving and loading data to and from files
|
||||
- @ref dev_tools - Hardware and software tools for all kinds of programming
|
||||
- @ref expansion - Additional modules to expand Flipper's consciousness
|
||||
- @ref misc - Various useful pieces of information
|
||||
|
||||
Aside from the manually-written documentation files, there's also a few automatically-generated ones at the bottom of the sidebar:
|
||||
|
||||
- [Data Structures](annotated.html) - Every data structure in a list
|
||||
- [Files](files.html) - Source file tree with easy navigation
|
||||
|
||||
These are generated from the source code and are useful for quickly finding the source code or API documentation for a particular function or data structure.
|
||||
*/
|
||||
BIN
documentation/doxygen/logo.png
Normal file
BIN
documentation/doxygen/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 873 B |
9
documentation/doxygen/misc.dox
Normal file
9
documentation/doxygen/misc.dox
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
@page misc Miscellaneous
|
||||
|
||||
Various pieces of information that do not fall into other categories.
|
||||
|
||||
- @subpage lfrfid_raw - Collecting raw data from LFRFID tags
|
||||
- @subpage key_combos - Different key combination shortcuts for Flipper Zero
|
||||
- @subpage universal_remotes - Creating and improving IR universal remote libraries
|
||||
*/
|
||||
13
documentation/doxygen/system.dox
Normal file
13
documentation/doxygen/system.dox
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
@page system System Programming
|
||||
|
||||
Lower level aspects of software development for Flipper Zero.
|
||||
|
||||
- @subpage unit_tests - Automated testing, a crucial part of the development process
|
||||
- @subpage furi_check - Hard checks for exceptional situations
|
||||
- @subpage furi_hal_bus - Access the on-chip peripherals in a safe way
|
||||
- @subpage furi_hal_debugging - Low level debugging features
|
||||
- @subpage hardware_targets - Support for different hardware platforms
|
||||
- @subpage firmware_assets - Various files required for building the firmware
|
||||
- @subpage dolphin_assets - Animations for the Dolphin game
|
||||
*/
|
||||
Reference in New Issue
Block a user