Doxy doc update
parent
113f71330e
commit
261e4cf92b
2
Doxyfile
2
Doxyfile
|
|
@ -44,7 +44,7 @@ PROJECT_NUMBER =
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
# quick idea about the purpose of the project. Keep the description short.
|
# quick idea about the purpose of the project. Keep the description short.
|
||||||
|
|
||||||
PROJECT_BRIEF = PrusaMultiMaterialUpgradev2firmwareforMK4
|
# PROJECT_BRIEF = Original Prusa MMU3 Upgrade
|
||||||
|
|
||||||
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
|
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
|
||||||
# in the documentation. The maximum height of the logo should not exceed 55
|
# in the documentation. The maximum height of the logo should not exceed 55
|
||||||
|
|
|
||||||
69
src/main.dox
69
src/main.dox
|
|
@ -1,4 +1,4 @@
|
||||||
///@mainpage Prusa Multi Material Unit for the MK4
|
///@mainpage Firmware for the Original Prusa MMU3 Upgrade
|
||||||
///@section intro_sec Introduction
|
///@section intro_sec Introduction
|
||||||
///
|
///
|
||||||
/// This is the new firmware for the Multi Material Unit (MMU).
|
/// This is the new firmware for the Multi Material Unit (MMU).
|
||||||
|
|
@ -37,69 +37,74 @@
|
||||||
///
|
///
|
||||||
///@dot
|
///@dot
|
||||||
///digraph architecture {
|
///digraph architecture {
|
||||||
|
/// compound=true;
|
||||||
/// node [shape=record, fontname=Helvetica, fontsize=10];
|
/// node [shape=record, fontname=Helvetica, fontsize=10];
|
||||||
/// subgraph cluster_main { label="main"
|
/// subgraph cluster_main {
|
||||||
|
/// label="main";
|
||||||
/// main [ URL="main.cpp"];
|
/// main [ URL="main.cpp"];
|
||||||
/// }
|
/// }
|
||||||
/// subgraph cluster_logic { label="logic"
|
/// subgraph cluster_logic {
|
||||||
|
/// label="logic";
|
||||||
/// logic [ URL="\ref logic"];
|
/// logic [ URL="\ref logic"];
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// subgraph cluster_modules { label="modules"
|
/// subgraph cluster_modules {
|
||||||
|
/// label="modules";
|
||||||
|
/// rank=min;
|
||||||
/// buttons [ URL="\ref modules::buttons"];
|
/// buttons [ URL="\ref modules::buttons"];
|
||||||
|
/// crc [ URL="\ref modules::crc"];
|
||||||
/// debouncer [ URL="\ref modules::debounce"];
|
/// debouncer [ URL="\ref modules::debounce"];
|
||||||
/// finda [ URL="\ref modules::finda"];
|
/// finda [ URL="\ref modules::finda"];
|
||||||
/// fsensor [ URL="\ref modules::fsensor"];
|
/// fsensor [ URL="\ref modules::fsensor"];
|
||||||
/// globals [ URL="\ref modules::globals"];
|
/// globals [ URL="\ref modules::globals"];
|
||||||
/// idler [ URL="\ref modules::idler"];
|
/// idler [ URL="\ref modules::idler"];
|
||||||
/// leds [ URL="\ref modules::leds"];
|
/// leds [ URL="\ref modules::leds"];
|
||||||
/// selector [ URL="\ref modules::selector"];
|
|
||||||
/// motion [ URL="\ref modules::motion"];
|
/// motion [ URL="\ref modules::motion"];
|
||||||
/// permanent_storage [ URL="\ref modules::permanent_storage"];
|
/// permanent_storage [ URL="\ref modules::permanent_storage"];
|
||||||
/// protocol [ URL="\ref modules::protocol"];
|
/// protocol [ URL="\ref modules::protocol"];
|
||||||
|
/// pulley [ URL="\ref modules::pulley"];
|
||||||
|
/// selector [ URL="\ref modules::selector"];
|
||||||
|
/// serial [ URL="\ref modules::serial"];
|
||||||
/// timebase [ URL="\ref modules::time"];
|
/// timebase [ URL="\ref modules::time"];
|
||||||
|
/// USB [ URL="\ref modules::usb"];
|
||||||
|
/// user_input [ URL="\ref modules::user_input"];
|
||||||
|
/// voltage [ URL="\ref modules::voltage"];
|
||||||
/// }
|
/// }
|
||||||
/// subgraph cluster_hal { label="hal"
|
/// subgraph cluster_hal {
|
||||||
|
/// label="hal";
|
||||||
|
/// rank=max;
|
||||||
/// adc [ URL="\ref hal::adc"];
|
/// adc [ URL="\ref hal::adc"];
|
||||||
/// cpu [ URL="\ref hal::cpu"];
|
/// cpu [ URL="\ref hal::cpu"];
|
||||||
/// eeprom [ URL="\ref hal::eeprom"];
|
/// eeprom [ URL="\ref hal::eeprom"];
|
||||||
/// gpio [ URL="\ref hal::gpio"];
|
/// gpio [ URL="\ref hal::gpio"];
|
||||||
|
/// progmem [ URL="\ref hal::progmem"];
|
||||||
/// shr16 [ URL="\ref hal::shr16"];
|
/// shr16 [ URL="\ref hal::shr16"];
|
||||||
/// spi [ URL="\ref hal::spi"];
|
/// spi [ URL="\ref hal::spi"];
|
||||||
/// timers [ URL="\ref hal::timers"];
|
/// timers [ URL="\ref hal::timers"];
|
||||||
/// tmc2130 [ URL="\ref hal::tmc2130"];
|
/// tmc2130 [ URL="\ref hal::tmc2130"];
|
||||||
/// usart [ URL="\ref hal::usart"];
|
/// usart [ URL="\ref hal::usart"];
|
||||||
/// watchdog [ URL="\ref hal::watchdog"];
|
/// watchdog [ URL="\ref hal::watchdog"];
|
||||||
/// }
|
/// }
|
||||||
/// main -> logic [ arrowhead="open" ];
|
/// main -> logic [ arrowhead="open",ltail=cluster_main,lhead=cluster_logic ];
|
||||||
///
|
///
|
||||||
/// logic -> buttons [ arrowhead="open" ];
|
/// logic -> selector [ arrowhead="open",ltail=cluster_logic,lhead=cluster_modules ];
|
||||||
/// logic -> finda [ arrowhead="open" ];
|
|
||||||
/// logic -> fsensor [ arrowhead="open" ];
|
|
||||||
/// logic -> globals [ arrowhead="open" ];
|
|
||||||
/// logic -> idler [ arrowhead="open" ];
|
|
||||||
/// logic -> leds [ arrowhead="open" ];
|
|
||||||
/// logic -> motion [ arrowhead="open" ];
|
|
||||||
/// logic -> permanent_storage [ arrowhead="open" ];
|
|
||||||
/// logic -> protocol [ arrowhead="open" ];
|
|
||||||
/// logic -> selector [ arrowhead="open" ];
|
|
||||||
/// logic -> timebase [ arrowhead="open" ];
|
|
||||||
///
|
///
|
||||||
/// selector -> motion [ arrowhead="open" ];
|
|
||||||
/// idler -> motion [ arrowhead="open" ];
|
|
||||||
/// buttons -> debouncer [ arrowhead="open" ];
|
/// buttons -> debouncer [ arrowhead="open" ];
|
||||||
/// finda -> debouncer [ arrowhead="open" ];
|
/// finda -> debouncer [ arrowhead="open" ];
|
||||||
/// fsensor -> debouncer [ arrowhead="open" ];
|
/// fsensor -> debouncer [ arrowhead="open" ];
|
||||||
|
/// idler -> motion [ arrowhead="open" ];
|
||||||
|
/// selector -> motion [ arrowhead="open" ];
|
||||||
|
/// pulley -> motion [ arrowhead="open" ];
|
||||||
|
/// protocol -> crc [ arrowhead="open" ];
|
||||||
|
/// protocol -> serial [ arrowhead="open" ];
|
||||||
|
/// user_input -> buttons [ arrowhead="open" ];
|
||||||
///
|
///
|
||||||
/// buttons -> adc [ arrowhead="open" ];
|
/// # beware - these edges are here to force graphvis to order the clusters top-to-bottom
|
||||||
/// finda -> adc [ arrowhead="open" ];
|
/// # I was unable to find a better way yet :( ... and no, ranking the clusters didn't help
|
||||||
/// fsensor [ arrowhead="open" ];
|
/// # if someone knows how to improve the layout, please let me know
|
||||||
/// globals -> permanent_storage [ arrowhead="open" ];
|
/// buttons -> shr16 [ arrowhead="open",ltail=cluster_modules,lhead=cluster_hal ];
|
||||||
/// leds -> shr16 [ arrowhead="open" ];
|
/// debouncer -> adc [ arrowhead="open",ltail=cluster_modules,lhead=cluster_hal ];
|
||||||
/// motion -> tmc2130 [ arrowhead="open" ];
|
/// serial -> usart [ arrowhead="open",ltail=cluster_modules,lhead=cluster_hal ];
|
||||||
/// permanent_storage -> eeprom [ arrowhead="open" ];
|
|
||||||
/// protocol -> usart [ arrowhead="open" ];
|
|
||||||
/// timebase -> timers [ arrowhead="open" ];
|
|
||||||
///}
|
///}
|
||||||
///@enddot
|
///@enddot
|
||||||
///
|
///
|
||||||
|
|
@ -132,7 +137,7 @@
|
||||||
/// - Eject filament: detects FINDA_DIDNT_SWITCH_OFF, FINDA_DIDNT_SWITCH_ON
|
/// - Eject filament: detects FINDA_DIDNT_SWITCH_OFF, FINDA_DIDNT_SWITCH_ON
|
||||||
/// - Load filament: detects FINDA_DIDNT_SWITCH_ON, FSENSOR_DIDNT_SWITCH_ON
|
/// - Load filament: detects FINDA_DIDNT_SWITCH_ON, FSENSOR_DIDNT_SWITCH_ON
|
||||||
/// - Tool change: detects FINDA_DIDNT_SWITCH_OFF/FINDA_DIDNT_SWITCH_ON, FSENSOR_DIDNT_SWITCH_OFF/FSENSOR_DIDNT_SWITCH_ON
|
/// - Tool change: detects FINDA_DIDNT_SWITCH_OFF/FINDA_DIDNT_SWITCH_ON, FSENSOR_DIDNT_SWITCH_OFF/FSENSOR_DIDNT_SWITCH_ON
|
||||||
/// - Load filament: detects FINDA_DIDNT_SWITCH_OFF, FSENSOR_DIDNT_SWITCH_OFF
|
/// - Unload filament: detects FINDA_DIDNT_SWITCH_OFF, FSENSOR_DIDNT_SWITCH_OFF
|
||||||
///
|
///
|
||||||
///@subsection algorithmic_ssec Algorithmic errors
|
///@subsection algorithmic_ssec Algorithmic errors
|
||||||
///
|
///
|
||||||
|
|
@ -172,6 +177,8 @@
|
||||||
///
|
///
|
||||||
///@subsection integration_sec Integration tests
|
///@subsection integration_sec Integration tests
|
||||||
///
|
///
|
||||||
|
/// TBD, no integration tests level has been introduced yet, because the unit tests cover most of the MMU's functionality.
|
||||||
|
///
|
||||||
///@section power_up Powering up the board
|
///@section power_up Powering up the board
|
||||||
///
|
///
|
||||||
/// Upon startup, the board tries to initialize all the necessary peripherals.
|
/// Upon startup, the board tries to initialize all the necessary peripherals.
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
namespace modules {
|
namespace modules {
|
||||||
|
|
||||||
|
/// module-level API of the serial port.
|
||||||
namespace serial {
|
namespace serial {
|
||||||
|
|
||||||
bool WriteToUSART(const uint8_t *src, uint8_t len);
|
bool WriteToUSART(const uint8_t *src, uint8_t len);
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,9 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../config/config.h"
|
#include "../config/config.h"
|
||||||
|
|
||||||
/// The modules namespace contains models of MMU's components
|
|
||||||
namespace modules {
|
namespace modules {
|
||||||
|
|
||||||
|
/// Measurement of the CPU's bandgap voltage
|
||||||
namespace voltage {
|
namespace voltage {
|
||||||
|
|
||||||
/// We are measuring the bandgap voltage, Vb=1.1V
|
/// We are measuring the bandgap voltage, Vb=1.1V
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue