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

moved docs from FMIImport&Core into FMI.jl #204

Merged
merged 28 commits into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
ac6ec42
added FMIImport doc to FMI.jl
0815Creeper Sep 29, 2023
66f7b68
doc fixes
0815Creeper Sep 29, 2023
17c00fe
fixes for doc
0815Creeper Oct 6, 2023
650beef
doc improvements, doc structure finalized
0815Creeper Oct 6, 2023
7c2d83c
added many functions to doc-manual
0815Creeper Oct 6, 2023
031fad1
added all funcs to doc manual
0815Creeper Oct 8, 2023
60927b5
doc fixes
0815Creeper Oct 10, 2023
5f60260
doc fixes
0815Creeper Oct 16, 2023
6854075
fixed typo
0815Creeper Oct 17, 2023
62d9990
Update Documentation.yml to use julia 1.9
0815Creeper Oct 17, 2023
6838dce
docs for FMI_exten according to format & docfixes
0815Creeper Oct 18, 2023
cba5d87
Merge branch 'main' of https://github.com/0815Creeper/FMI.jl into main
0815Creeper Oct 18, 2023
b51568e
fixed docs for nonFMI spec fucs & notes to plot funcs
0815Creeper Oct 18, 2023
ba38c00
fixed bad links in doc + export addtional fmifuncs
0815Creeper Oct 18, 2023
e72f211
removed Manifest.toml from docs env
0815Creeper Oct 18, 2023
055e790
doc updates for comp_wraps
0815Creeper Oct 19, 2023
a2ceb0d
doc updates for sim
0815Creeper Oct 28, 2023
1dcd88f
added deprecated flags
0815Creeper Oct 30, 2023
6fa31ba
typo fixes
0815Creeper Oct 31, 2023
0d03f4a
fixes
0815Creeper Nov 1, 2023
8bc2f11
doc fixes
0815Creeper Nov 7, 2023
3f6d2bf
Merge branch 'main' into main
0815Creeper Nov 9, 2023
d2c620a
doc fixes for merge
0815Creeper Nov 9, 2023
5a98c2e
minor doc fixes (link check)
0815Creeper Nov 10, 2023
a00891c
fixed fmi2SimulateCS wrapper
0815Creeper Nov 17, 2023
6db24e5
Merge branch 'main' of https://github.com/0815Creeper/FMI.jl into main
0815Creeper Nov 17, 2023
19a81b8
documentation action uses PR-repo-state
0815Creeper Nov 21, 2023
1890f60
fix for Example action
0815Creeper Nov 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,11 @@ jobs:
steps:
- name: "Check out repository"
uses: actions/checkout@v3
with:
ref: main

- name: "Set up Julia"
uses: julia-actions/setup-julia@v1
with:
version: '1.6'
version: '1.9'
arch: x64

- name: "Copy examples, readme"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
matrix:
os: [windows-latest] # ubuntu-latest
file-name: [manipulation, modelica_conference_2021, multiple_instances, multiprocessing, multithreading, parameterize, simulate, parameter_optimization]
julia-version: ['1.9']
julia-version: ['1.8']
Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed, that examples were broken (no svgs where saved)

julia-arch: [x64]
experimental: [false]

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# FMI.jl

## What is FMI.jl?
[*FMI.jl*](https://github.com/ThummeTo/FMI.jl) is a free-to-use software library for the Julia programming language which integrates the **F**unctional **M**ock-Up **I**nterface ([fmi-standard.org](http://fmi-standard.org/)): load or create, parameterize, differentiate, simulate and plot FMUs seamlessly inside the Julia programming language!
[*FMI.jl*](https://github.com/ThummeTo/FMI.jl) is a free-to-use software library for the Julia programming language which integrates the **F**unctional **M**ock-Up **I**nterface ([fmi-standard.org](https://fmi-standard.org/)): load or create, parameterize, differentiate, simulate and plot FMUs seamlessly inside the Julia programming language!

[![Dev Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://ThummeTo.github.io/FMI.jl/dev)
[![Test (latest)](https://github.com/ThummeTo/FMI.jl/actions/workflows/TestLatest.yml/badge.svg)](https://github.com/ThummeTo/FMI.jl/actions/workflows/TestLatest.yml)
Expand Down Expand Up @@ -106,7 +106,7 @@ Tobias Thummerer, Johannes Tintenherr, Lars Mikelsons. 2021 **Hybrid modeling of
## Notes for contributors
Contributors are welcome. Before contributing, please read, understand and follow the [Contributor's Guide on Collaborative Practices for Community Packages](https://github.com/SciML/ColPrac).
During development of new implementations or optimizations on exisitng code, one will have to make design decissions that influence the library performance and usability. The following priorization should be the basis for decision-making:
- **#1 Compliance with standard:** It is the highest priority to be compliant with the FMI standard ([fmi-standard.org](http://fmi-standard.org/)). Identifiers described in the standard must be used. Topologies should follow the specification as far as the possibilities of the Julia programming language allows.
- **#1 Compliance with standard:** It is the highest priority to be compliant with the FMI standard ([fmi-standard.org](https://fmi-standard.org/)). Identifiers described in the standard must be used. Topologies should follow the specification as far as the possibilities of the Julia programming language allows.
- **#2 Performance:** Because [*FMI.jl*](https://github.com/ThummeTo/FMI.jl) is a simulation tool, performance is very important. This applies to the efficient use of CPU and GPU, but also the conscientious use of RAM and disc space.
- **#3 Usability:** The library should be as usable as possible, as long as being fully compliant with the FMI standard.

Expand Down
99 changes: 0 additions & 99 deletions docs/Manifest.toml

This file was deleted.

7 changes: 7 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
FMICore = "8af89139-c281-408e-bce2-3005eb87462f"
FMIImport = "9fcbc62e-52a0-44e9-a616-1359a0008194"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
MAT = "23992714-dd62-5051-b70f-ba57cb901cac"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"

[compat]
julia = "1.6"
29 changes: 23 additions & 6 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,21 @@
# Licensed under the MIT license. See LICENSE file in the project root for details.
#

using Documenter, FMI
import Pkg; Pkg.develop(path=joinpath(@__DIR__,"../../FMI.jl"))
using Documenter, Plots, JLD2, DataFrames, CSV, MAT, FMI, FMIImport, FMICore
using Documenter: GitHubActions

makedocs(sitename="FMI.jl",
format = Documenter.HTML(
collapselevel = 1,
sidebar_sitename = false,
edit_link = nothing
edit_link = nothing,
size_threshold_ignore = ["library.md","deprecated.md","fmi2_lowlevel_librarys.md","fmi3_lowlevel_librarys.md"]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

necessary, will be removed as soon as library.md and fmiX_lowlevel_librarys.md are spilt just as fmi_lowlevel_library_types, _functions, _constants

),
modules = [FMI, FMIImport, FMICore],
checkdocs=:exports,
linkcheck=true,
linkcheck_ignore=["https://thummeto.github.io/FMI.jl/dev/examples/inputs/", "https://github.com/ThummeTo/FMICore.jl/blob/main/src/FMI2_c.jl#L718"],
Copy link
Contributor Author

Choose a reason for hiding this comment

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

examples need work, old links in there will be ignored until then ...

pages= Any[
"Introduction" => "index.md"
"Features" => "features.md"
Expand All @@ -26,12 +32,23 @@ makedocs(sitename="FMI.jl",
"Multithreading" => "examples/multithreading.md"
"Multiprocessing" => "examples/multiprocessing.md"
]
"Library Functions" => "library.md"
"FMI Tool Information" => "fmi-tool-info.md"
"User Level API - FMI.jl" => "library.md"
"Developer Level API" => Any[
"fmi version independent content" => Any[
"fmi_lowlevel_library_types.md",
"fmi_lowlevel_library_constants.md",
"fmi_lowlevel_library_functions.md"
],
"FMI2 specific content" => "fmi2_lowlevel_librarys.md",
"FMI3 specific content" => "fmi3_lowlevel_librarys.md"
]
"API Index" => "index_library.md"
"FMI Tool Information" => "fmi-tool-info.md"
"Related Publication" => "related.md"
"Contents" => "contents.md"
]
)
hide("Deprecated" => "deprecated.md")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

all exported funtions need to be documented. The coresponding file will be hidden (might be removable by removing docstrings from deprececated functions)

]
)

function deployConfig()
github_repository = get(ENV, "GITHUB_REPOSITORY", "")
Expand Down
56 changes: 56 additions & 0 deletions docs/src/deprecated.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# deprecated Functions

this doc page is necessary as all exported functions must be documented in the manual with documenter configred to check for missing documentation, therefor this hidden page exists

### internal funtions: remove export?
```@docs
fmi2CallbackLogger
fmi2CallbackAllocateMemory
fmi2CallbackFreeMemory
fmi3CallbackLogger
fmi2CallbackFunctions
fmi2CallbackStepFinished
```

### deprecated
Mostly wrappers that are not supposed to be used (call specific wrapped functions instead)

```@docs
fmiSetReal
fmiReset
fmiGetGenerationTool
fmiEnterContinuousTimeMode
fmiGetEventIndicators
fmiSetBoolean
fmiFreeInstance!
fmiInstantiate!
fmiTerminate
fmiDoStep
fmiSetInteger
fmiCompletedIntegratorStep
fmiExitInitializationMode
fmiSetupExperiment
fmiSetDebugLogging
fmiSerializedFMUstateSize
fmiSerializeFMUstate
fmiDeSerializeFMUstate
fmiEnterInitializationMode
fmiGetDirectionalDerivative!
fmiNewDiscreteStates
fmiGetDirectionalDerivative
fmiSetRealInputDerivatives
fmiGetGenerationDateAndTime
fmiGetContinuousStates
fmiSetContinuousStates
fmiGetNominalsOfContinuousStates
fmiSetTime
fmiSetString
fmiGetString
fmiGetString!
fmiGetInteger
fmiGetInteger!
fmiGetReal
fmiGetReal!
fmiGetBoolean
fmiGetBoolean!
```
2 changes: 1 addition & 1 deletion docs/src/features.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

# Features
Please note, that this guide focuses also on users, that are not familiar with FMI. The following feature explanations are written in an easy-to-read-fashion, so there might be some points that are scientifically only 95% correct. For further information on FMI and FMUs, see [fmi-standard.org](http://fmi-standard.org/).
Please note, that this guide focuses also on users, that are not familiar with FMI. The following feature explanations are written in an easy-to-read-fashion, so there might be some points that are scientifically only 95% correct. For further information on FMI and FMUs, see [fmi-standard.org](https://fmi-standard.org/).

## Execution Configuration
Not all FMUs support all features they should according to the FMI-standard, so *FMI.jl* provides a so called *execution configuration*.
Expand Down
Loading
Loading