diff --git a/doc/source/conf.py b/doc/source/conf.py index 7b40d5a3dc8ad9938c0bb412432d548533543c77..653eab2dc7c2306569e9dd3fe504bfdf05648728 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -72,6 +72,12 @@ html_theme = 'sphinx_rtd_theme' # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] +html_context = { + "display_gitlab": True, # Integrate Gitlab + "gitlab_repo": "ohmpi/ohmpi", # Repo name + "gitlab_version": "master", # Version + "conf_py_path": "/doc/source/", # Path in the checkout to the docs root +} master_doc = 'index' diff --git a/doc/source/index.rst b/doc/source/index.rst index b7d34b83308d3fc20171a69502704a0e88768d84..30f45fba46c1ee201a30dc2475abe616bba2f0a7 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -15,32 +15,45 @@ OHMPI: Open source and open hardware resistivity-meter :Date start: July 2016 :Authors: **Rémi CLEMENT, Nicolas FORQUET, Yannick FARGIER, Vivien DUBOIS, Hélène GUYARD, Olivier KAUFMANN, Guillaume BLANCHY, Arnaud WATLET** :Target: users, researchers and developers - :status: some mature, some in progress + :Status: some mature, some in progress -.. topic:: OhmPi Document Center +This documentation presents the development of a low-cost, open hardware +resistivity meter to provide the scientific community with a robust +and flexible tool for small-scale experiments. Called OhmPi, this resistivity meter +features current injection and measurement functions associated with a multiplexer +that allows performing automatic measurements. - * OhmPi official documents - * Release guidelines - * General tutorials +Contents +******** -Contents: - -.. toctree:: +.. toctree:: :maxdepth: 1 + :caption: Introduction + source_rst/Ohmpi .. toctree:: :maxdepth: 2 + :caption: Building and operating OhmPi + source_rst/hardware source_rst/software/index + +.. toctree:: + :maxdepth: 1 + :caption: Additional resources + source_rst/troubleshooting source_rst/developments source_rst/gallery + source_rst/archived_version .. toctree:: - :maxdepth: 1 - source_rst/archived_version + :maxdepth: 2 + :hidden: + :caption: References + Link to OhmPi Repository <https://gitlab.com/ohmpi/ohmpi> `PDF version of this documentation <_static/ohmpi.pdf>`_ diff --git a/doc/source/source_rst/Ohmpi.rst b/doc/source/source_rst/Ohmpi.rst index c9685d38e0d5ecf8d08961d2285e5281de2cb552..e79e5608402d91a8be3e8a0ff519332b0a3da2f4 100644 --- a/doc/source/source_rst/Ohmpi.rst +++ b/doc/source/source_rst/Ohmpi.rst @@ -8,9 +8,6 @@ OhmPi project :height: 188px :alt: Logo OhmPi -Introduction -************ - .. warning:: OhmPi is a participative project open to all, it requires skills in electronics and to respect the safety rules. OhmPi must be assembled in a professional context and by people competent in electronics. The OhmPi team cannot be @@ -21,15 +18,18 @@ Introduction FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-P v2 for applicable conditions. +Introduction +************ -This documentation presents the development of a low-cost, open hardware \ -resistivity meter to provide the scientific community with a robust \ -and flexible tool for small-scale experiments. Called OhmPi, this basic resistivity meter\ -features current injection and measurement functions associated with a multiplexer \ -that allows performing automatic measurements with up to 64 electrodes.\ -OhmPi's philosophy is to provide a fully open source and open hardware tool\ -to the near surface scientific community. +The OhmPi project was initiated to develop an open-source, open-hardware resistivity meter, +particularly designed for the research community, education, and humanitarian or not-for-profit organisations. +In the last decade, geoelectrical monitoring has become a popular tool to study and monitor +physical processes in hydrology. As novel applications emerge, the need for more accessible and flexible acquisition systems +grows in the research community. The flexibility and adaptability of OhmPi makes it particularly suited to +develop novel acquisition strategies or design innovative small-scale monitoring experiments. +.. note:: + Anyone who wants to get involved is welcome to join the OhmPi project! Authors ******** @@ -62,9 +62,5 @@ Citing OhmPi *source data logger for dedicated applications of electrical resistivity imaging at the small and laboratory* *scale. HardwareX, Elsevier, 2020, 8, 24 p. ff10.1016/j.ohx.2020.e00122ff.* - - -.. note:: - Anyone who wants to get involved is welcome to join the OhmPi project! `PDF version of the documentation <../_static/ohmpi.pdf>`_ (note the latest version is always the html one) diff --git a/doc/source/source_rst/hardware.rst b/doc/source/source_rst/hardware.rst index 17bb6dd446f21445c1923e1540bdf1c8fcefa9d0..788119cc2cdbe70e8347b6434966387ed8eebead 100644 --- a/doc/source/source_rst/hardware.rst +++ b/doc/source/source_rst/hardware.rst @@ -6,6 +6,7 @@ Hardware ******** This section contains the documentation needed to build an OhmPi. + The OhmPi is composed of different modules: - a measurements board (``mb``): that measures the current and voltage and modulates the injected current @@ -22,7 +23,8 @@ You can then upgrade your measurement board or power supply for specific applica .. toctree:: - :maxdepth: 2 + :maxdepth: 2 + :caption: Contents hardware/hw_info hardware/hw_mb diff --git a/doc/source/source_rst/software/index.rst b/doc/source/source_rst/software/index.rst index 76636de6cb6ce4897498c86ed5ced284db28e901..2d5e17da5884fdf3c27d997e5ad8b2c2e482eae6 100644 --- a/doc/source/source_rst/software/index.rst +++ b/doc/source/source_rst/software/index.rst @@ -4,12 +4,11 @@ Software and operation .. warning:: **OhmPi is a participative project open to all, it requires skills in electronics and to respect the safety rules. OhmPi must be assembled in a professional context and by people competent in electronics. The OhmPi team cannot be held responsible for any material or human damage which would be associated with the use or the assembly of OhmPi. The OhmPi team cannot be held responsible if the equipment does not work after assembly.** -This section details describes the Python software and how to interact with an OhmPi instrument. - -Contents: +This section describes the Python software and how to interact with an OhmPi instrument. .. toctree:: :maxdepth: 2 + :caption: Contents Software architecture <architecture> Getting started <installation> diff --git a/doc/source/source_rst/troubleshooting.rst b/doc/source/source_rst/troubleshooting.rst index 403f806ed937f9eb48d5fdd7af8508c852c619d9..25f350a36c971b12181643f2e809ba2be537fd54 100644 --- a/doc/source/source_rst/troubleshooting.rst +++ b/doc/source/source_rst/troubleshooting.rst @@ -1,7 +1,9 @@ Troubleshooting ******************** -**TO BE REVIEWED** +We encourage users to report any issue, or bugs as an issue in the `official repository on GitLab <https://gitlab.com/ohmpi/ohmpi/-/issues>`_. +Please have a look at existing open and closed issues before posting a new one. +We've compiled here below a list of common issues and and explanations on how to fix them. Issue with the pulses between A and B ===================================== diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index 72d73dca16bbaca8648a0585c74df9d9b953f852..a957d3d1043e7ebbd969a0cef89df55d07eae741 100644 --- a/ohmpi/hardware_system.py +++ b/ohmpi/hardware_system.py @@ -601,7 +601,7 @@ class OhmPiHardware: while (k < n_steps) and (diff_vab > diff_vab_lim) and (vab_list[k] < vab_max): self.exec_logger.event( f'OhmPiHardware\t_compute_vab_sleep\tbegin\t{datetime.datetime.utcnow()}') - # time.sleep(0.2) # TODO: replace this by discharging DPS on resistor with relay on GPIO5 + time.sleep(0.2) # TODO: replace this by discharging DPS on resistor with relay on GPIO5 # (at least for strategy vmin, # but might be useful in vmax when last vab too high...) self.exec_logger.event( @@ -610,7 +610,7 @@ class OhmPiHardware: vmn_min = vmn_max vabs = [] self._vab_pulses(vab_list[k], sampling_rate=self.rx.sampling_rate, - durations=[pulse_duration, pulse_duration], polarities=polarities, append=True) + durations=[pulse_duration, pulse_duration], polarities=polarities) for pulse in range(len(polarities)): v = np.where((self.readings[:, 0] > delay) & (self.readings[:, 2] != 0) & ( self.readings[:, 1] == pulse))[0] # NOTE : discard data acquired in the first x ms