Control Deamon
Open, Needs TriagePublic

Description

Currently, booting up the camera is as follows:

  • a systemd service is activated which runs a shell script
  • this script then loads a bitstream into the FPGA and uses a ton of other scripts and C programs to train the LVDS channels and set up the HDMI output

When the service is disabled, the user can run this script manually, which:

  • of course, does not keep the user from running it even if it has already been activated by systemd
  • and on the other hand, simple scripts which query the registers (e.g. to get the temperature of the sensor) can be actived even if the FPGA bitstream was not loaded

All of those lead to a solid lockup of the Beta, because if you write to one of those memory addresses which are used for communicating with the PL, and there is no handler in the FPGA, the ARM cores lock up solid, no recovery possible they basically wait for an ACK/NACK forever

Solution:
Write a Control Deamon, providing language specific libraries to the "user-space" application.

References:
http://0pointer.de/blog/projects/socket-activation.html
http://0pointer.de/public/systemd-man/daemon.html#New-Style%20Daemons

maltefiala updated the task description. (Show Details)
maltefiala raised the priority of this task from to Needs Triage.
maltefiala assigned this task to BAndiT1983.
maltefiala moved this task to Backlog on the AXIOM Beta Software board.
maltefiala added subscribers: Bertl, maltefiala.

Please dont forget to fill the required GSoC tasks fields:

Prerequisites: ?

Required programming skills: ?

Difficulty level: ?

Mentors: ?

This is not a gsoc task but will be done by Andrej

I will add / edit the gsoc task tomorrow.

BAndiT1983 added a comment.EditedMar 3 2017, 10:19 PM

Told on IRC just a moment ago, that it is a preparation for GSoC. It's faster if i start it, than a student who has never seen the system. Afterwards a student can proceed on improving, like adding new protocols as UART or similar.

ah right, all clear now :)

BAndiT1983 updated the task description. (Show Details)Mar 9 2017, 11:35 PM

@BAndiT1983 What's the status of this? Please add a link to the source, thanks!

Source as always here: https://github.com/apertus-open-source-cinema/beta-software
Yesterday i've found what the cause of exception was and will upload real communication part today which encodes settings, sends them to daemon and decodes them. Afterwards the client test project will be converted to a library, shared or static one, but that needs a discussion of needs.

Angel added a subscriber: Angel.Jul 23 2017, 1:00 AM
anuejn added a subscriber: anuejn.Nov 5 2017, 9:49 PM

Should the control daemon replace T258 and T723?

Should the control daemon replace T258 and T723?

Yes the Control daemon is the REST API.

anuejn added a comment.Nov 5 2017, 9:53 PM

So close the other two tasks?

merge in or move to subtask?

anuejn added a comment.Nov 5 2017, 9:59 PM

reference and close?

fine for me as well