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

Migrate daemon to libgpiod #48

Draft
wants to merge 56 commits into
base: dev
Choose a base branch
from
Draft

Migrate daemon to libgpiod #48

wants to merge 56 commits into from

Commits on Feb 25, 2021

  1. Merge pull request #41 from MuonPi/dev

    Dev
    hangeza authored Feb 25, 2021
    Configuration menu
    Copy the full SHA
    2c2ea97 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2021

  1. Started modifying pigpiodhandler class to switch over to libgpiod. No…

    …t finished yet...code will not compile.
    hangeza committed Feb 28, 2021
    Configuration menu
    Copy the full SHA
    954588c View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2021

  1. added start() and stop() slots to PigpiodHandler class to always have…

    … a defined run status of the internal thread
    hangeza committed Mar 8, 2021
    Configuration menu
    Copy the full SHA
    bd42fc4 View commit details
    Browse the repository at this point in the history
  2. Cleaned up PigpiodHandler class a bit and implemented one signal to f…

    …orward a detected event to the daemon. With this, all basic functions of the daemon seem to work.
    
    Not working yet and to be implemented in the new gpio readout scheme:
    - pulse rate limitation for high freq. bursts
    - sampling trigger signals (for triggering the ADC readout)
    - time and time difference measurements for the population of two histos
    
    Note: For the daemon to work with the new libgpiod based readout, several things have to be changed from the pigpiod scheme:
    - the user who is executing the daemon (usually muonuser) must be added to the system group 'gpio' with 'sudo usermod -a -G gpio muonuser'
    - the pigpiod daemon must be switched off
    - the libgpiod-dev package must be installed on the system prior to compilation
    hangeza committed Mar 8, 2021
    Configuration menu
    Copy the full SHA
    98624a7 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. Implemented pure usage of libgpiod in PigpiodHandler class. Signals f…

    …rom the former callback function are not yet forwarded, but the core mechanism of event detection works. Pins may be registered/unregistered during runtime and set/get gpio functions also seem to work. Note, that the executing user must be member of gpio group.
    hangeza committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    6874389 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2021

  1. Configuration menu
    Copy the full SHA
    921d09c View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2021

  1. Further implemented functionality equal to the old pigpiod implementa…

    …tion:
    
    - implemented trigger for ADC sampling
    - implemented GPIO inhibit
    - default eventTrigger signal is now GPIO_UNDEFINED_PIN, i.e. no trigger set up. This still has to be implemented as valid selection in the GUI
    hangeza committed Jul 10, 2021
    Configuration menu
    Copy the full SHA
    7d32d00 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2021

  1. Added RateBuffer class for handling of all GPIO rates. Still to be im…

    …plemented for the tracking of the XOR and AND rates in the daemon.
    hangeza committed Jul 11, 2021
    Configuration menu
    Copy the full SHA
    8f301b1 View commit details
    Browse the repository at this point in the history
  2. Embedded RateBuffer in daemon. All rate handling should be supervised…

    … by an instance of this class now. RateBuffer contains a smart rate throttling which prevents lock-up of daemon and GUI at excessive rates.
    
    This branch should now privide equal or better functionality compared to the pigpiod daemon.
    However, the following features are not yet implemented:
    - Measurement of the system time deviation from GNSS (timpulse) time
    - Measurement of the GPIO event interval (as in the histogram under statistics tab of the GUI with the same name). This may be implemented easily with the help of the RateBuffer class.
    hangeza committed Jul 11, 2021
    Configuration menu
    Copy the full SHA
    ecbc059 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. Added measurement of gpio interval time (in histogram "gpioEventInter…

    …val"). Adjusted scaling of several histograms.
    hangeza committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    6188502 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2021

  1. Renamed enum GPIO_PIN to the more reasonable GPIO_SIGNAL, since this …

    …signal is explicitly not bound to a fixed GPIO pin.
    
    Corrected some wrong assignments in the GPIO pin list for HW Ver 1.
    hangeza committed Jul 13, 2021
    Configuration menu
    Copy the full SHA
    0a4d40a View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2021

  1. Configuration menu
    Copy the full SHA
    d00fd6f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cb60a3b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ea0f327 View commit details
    Browse the repository at this point in the history
  4. Updated preinst script to add muonuser to gpio group. This is require…

    …d for running the daemon with access to the gpio kernel subsystem.
    hangeza committed Jul 14, 2021
    Configuration menu
    Copy the full SHA
    3c5eda7 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2021

  1. - modified all control scripts for prerequisites etc. wrt libgpiod

    - added measurement of time pulse to system time
    hangeza committed Jul 15, 2021
    Configuration menu
    Copy the full SHA
    0af2564 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. adjust measured TPDiff values symmetrically around 0, i.e. to fall in…

    … the range -0.5s...+0.5s, instead of 0...1s as before
    hangeza committed Jul 16, 2021
    Configuration menu
    Copy the full SHA
    2b6697b View commit details
    Browse the repository at this point in the history
  2. Update source/daemon/include/daemon.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    d4fb9e1 View commit details
    Browse the repository at this point in the history
  3. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    98f4d8c View commit details
    Browse the repository at this point in the history
  4. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    59cdb10 View commit details
    Browse the repository at this point in the history
  5. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    8732af1 View commit details
    Browse the repository at this point in the history
  6. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    4b209be View commit details
    Browse the repository at this point in the history
  7. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    1db133c View commit details
    Browse the repository at this point in the history
  8. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    207dd0f View commit details
    Browse the repository at this point in the history
  9. Update source/daemon/include/pigpiodhandler.h

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    d7c1136 View commit details
    Browse the repository at this point in the history
  10. Update source/daemon/src/ratebuffer.cpp

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    750d0f2 View commit details
    Browse the repository at this point in the history
  11. Update source/gui/src/mainwindow.cpp

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    98dd05a View commit details
    Browse the repository at this point in the history
  12. Update source/gui/src/parametermonitorform.cpp

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    23340b1 View commit details
    Browse the repository at this point in the history
  13. Update source/gui/src/status.cpp

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    40b7512 View commit details
    Browse the repository at this point in the history
  14. Update source/daemon/config/preinst

    Co-authored-by: Daniel Treffenstädt <[email protected]>
    hangeza and dtreffenstaedt authored Jul 16, 2021
    Configuration menu
    Copy the full SHA
    4016e1b View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2021

  1. Some clean-up and minor mods:

    - removed separate the samplingTrigger handling in PigpiodHandler
    - merged slots for gpio events in daemon into one onGpioPinEvent() slot
    - removed unregistering interrupts in PigpiodHandler before registering them again. This would be the cleanest procedure but somehow it doesn't work from gpiod side
    hangeza committed Jul 18, 2021
    Configuration menu
    Copy the full SHA
    ad7e129 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2021

  1. - Renamed signal and throttledSignal signals in PigpioHandler and Rat…

    …eBuffer classes to more descriptive event and filteredEvent.
    
    - Added transmission of interrupt timestamp to event and filteredEvent signals.
    hangeza committed Jul 20, 2021
    Configuration menu
    Copy the full SHA
    6f4bcff View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Further work on libgpiod functionality for event handling:

    - moved all event handlers to separately spawned threads for each interrupt line
    - added map to store the last time intervals between events from different gpios in RateBuffer class
    - changed filling of gpioTimeIntervalShort histogram to time intervals measured between the currently selected eventTrigger and the rising edge of TIME_MEAS_OUT signal
    hangeza committed Jan 14, 2022
    Configuration menu
    Copy the full SHA
    1319d93 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2022

  1. Configuration menu
    Copy the full SHA
    3db51a3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1073433 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5b0e74d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2b74c00 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. Restored muondetector-daemon service file which was corrupted from a …

    …prior merge conflict. Added ratebuffer.cpp file which was not commited properly during the last big PR.
    hangeza committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    80f040b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b86d232 View commit details
    Browse the repository at this point in the history
  3. removed commented-out lines

    hangeza committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    95a3f17 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2022

  1. added suffix string "libgpiod" to version strings (e.g. used in packa…

    …ge descriptor) to make this libgpiod-development branch discernible from the mainstream packages
    hangeza committed Feb 19, 2022
    Configuration menu
    Copy the full SHA
    e9030c6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4eb121 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2022

  1. Configuration menu
    Copy the full SHA
    1445d35 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2023

  1. Configuration menu
    Copy the full SHA
    45196fc View commit details
    Browse the repository at this point in the history
  2. applied clang-format

    hangeza committed Feb 19, 2023
    Configuration menu
    Copy the full SHA
    f1a0444 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2521c4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c7b8ad8 View commit details
    Browse the repository at this point in the history
  5. removed blank line

    hangeza committed Feb 19, 2023
    Configuration menu
    Copy the full SHA
    0e19e60 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Configuration menu
    Copy the full SHA
    ea3159c View commit details
    Browse the repository at this point in the history
  2. Merge pull request #90 from MuonPi/v2.1.0

    V2.1.0
    SimonGLM authored May 24, 2023
    Configuration menu
    Copy the full SHA
    6cecacd View commit details
    Browse the repository at this point in the history
  3. Updated changelog

    SimonGLM committed May 24, 2023
    Configuration menu
    Copy the full SHA
    a2d240f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    90d6c46 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a099785 View commit details
    Browse the repository at this point in the history
  6. applied clang-format

    hangeza committed May 24, 2023
    Configuration menu
    Copy the full SHA
    d38a9ec View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ffe1523 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Configuration menu
    Copy the full SHA
    eec0256 View commit details
    Browse the repository at this point in the history