+ Antworten
Ergebnis 1 bis 1 von 1
  1. #1
    Developer
    Registriert seit
    18.07.2012
    Ort
    Ridderkerk, Niederlande
    Beiträge
    634
    Thanks
    144
    Thanked 712 Times in 304 Posts

    New version of aotom display driver for Sparks

    In my git you can find a new version of aotom_spark, the front panel display driver used for Fulan Spark receivers.

    Inspired by the front panel driver for the Topfield TF77X0HDPVR (more on that in a future topic) the driver now supports the Linux procfs.
    The following entries are available:
    Code:
    /*
     *  /proc/------
     *             |
     *             +--- progress (rw)           Progress of E2 startup in %
     *
     *  /proc/stb/fp
     *             |
     *             +--- aotom (w)               Direct control of LEDs and icons
     *             +--- version (r)             SW version of front processor (hundreds = major, tens/units = minor)
     *             +--- rtc (rw)                RTC time (local, seconds since Unix epoch)
     *             +--- rtc_offset (rw)         RTC offset in seconds from UTC (not used)
     *             +--- wakeup_time (rw)        Next wakeup time (absolute, local, seconds since Unix epoch)
     *             +--- was_timer_wakeup (r)    Wakeup reason (1 = timer, 0 = other)
     *             +--- led0_pattern (rw)       Blink pattern for red LED (currently limited to on (0xffffffff) or off (0))
     *             +--- led1_pattern (rw)       Blink pattern for green LED (currently limited to on (0xffffffff) or off (0))
     *             +--- led_patternspeed (rw)   Blink speed for pattern (not implemented)
     *             +--- oled_brightness (w)     Direct control of display brightness ((D)VFD only)
     *             +--- displaytype (r)         Type of display (0=LED, 1=VFD, 2=DVFD)
     *             +--- timemode (rw)           Time display on/off (write on DVFD only)
     *             +--- text (w)                Direct writing of display text
     *
     *  /proc/stb/power/
     *             |
     *             +--- standbyled (w)          Standby LED enable
     */
    The various entries can be used as follows:

    progress
    Read yields the current enigma2 progress variable and gives a number between 0 and 100. The aotom driver uses it to display the progress of the enigma2 startup.
    The display is triggered by a write to the progress entry. The display is disabled after the progress reaches 99 or 100 for the first time, and is also suppressed when the count is below 20 to allow the normal display startup message of enigma2 to be read.

    stb/fp/aotom
    Can only be written and accepts a string of the format fxy, in which f is either the letter 'i' for icons or 'l' for LEDs. The second character x represents the state: 0 is off and 1 is on. The following character(s) y represent the number of the LED or icon to be controlled. Examples in bash:
    Code:
    echo "l01" > /proc/stb/fp/aotom     # switch green LED off
    echo "i146" > /proc/stb/fp/aotom    # switch all icons on
    (After an idea and code by skl)

    stb/fp/version
    Read only. Returns the version number of the frontprocesser software. Hundreds are the major, and tens/units the minor, so 1.23 is returned as 123. This entry is compatible with the Menu -> Information -> About screen in enigma2.

    stb/fp/rtc
    Yields the time of the frontpanel clock as seconds since 01/01/1970 00:00 (Linux epoch). With aotom, this is the local time. May be written to, to set the front panel clock.

    stb/fp/rtc_offset
    The offset in seconds to convert the frontpanel clock time to UTC. The entry is read/write and is used correctly when reading/writing /proc/stb/fp/rtc.
    Please note that this entry is NOT automatically filled with the correct value after a power on as the front processor has no way of knowing in which time zone it is in after switch on. Currently it is always set to +3600 at power on, the value for Central European Time.

    stb/fp/wakeup_time
    Read/write. Wakeup time, used for timers. enigma2 writes this time to wake the receiver up for timer recordings allowing for a startup time that is stored in the file /etc/vdstandby.cfg. The format is absolute local time in seconds since epoch. This time may be in the past, in which case the receiver will never wakeup due to this timer. May be written to, but enigma2/neutrino will overwrite this value if any timers are set in the future when it is shutdown.
    Note: this is the time front panel processor will switch the receiver on, not the time it will be ready for action after switching on, which can be up two minutes later.

    stb/fp/was_timer_wakeup
    Read only. Reads as 1 when the receiver was started due to the frontpanel clock (/proc/stb/fp/rtc) reaching the wakeup time (/proc/stb/fp/wakeup_time), otherwise 0.

    stb/fp/led0_pattern and stb/fp/led_patternspeed
    Read/write. Implemented for compatibility. Holds a hexadecimal 32 bit number that is supposed to be used bitwise as a blinkpattern for the red LED in the following manner. The pattern is read and the LSbit is used to determine the state of the red LED (1=on, 0=off). After the timer in /proc/stb/fp/led_patternspeed expires the next bit in the pattern is evaluated and the red LED set accordingly. This is repeated for all 32 bits in the pattern, after which the process restarts.
    Currently only implemented for the values 0x0 and 0xffffffff (ever off and ever on respectively).

    stb/fp/led1_pattern
    Same as stb/fp/led0_pattern, but for the green LED.

    stb/fp/oled_brightness
    Write only. The rather strange name is for compatibility reasons. Direct control of the display brightness (VFD models only). Accepts values between 0 and 7.

    stb/fp/displaytype
    Read only. Returns the type of display in the front panel as 0=LED, 1=VFD and 2=DVFD. Example on a DVFD model:
    Code:
    cat /proc/stb/fp/displaytype
    2
    st/fp/timemode
    Holds the time display state of the display. Read only on LED and VFD models which always return 0 (off) and 1 (on) respectively.
    Writeable on DVFD models which switches the display mode accordingly, reading it on these models reflects the current state.

    st/fp/text
    Write only. Direct writing of display text, effectively the same as writing to /dev/vfd. Texts that are longer than the displaylength are scrolled once automatically.

    stb/power/standbyled
    Write only. Standby LED enable.

    Final remark: for all this to work properly, you also need to update e2_proc.ko (also in my driver-git).
    Have fun!

    Regards,

    Audioniek.
    Receivers: Rebox: RE-4000, 8000, 9000, 2200, 2210, 2220, 4200, 4210, 4220, 8220, 8500, SAB Unix Triple, Golden Media Spark TripleX, Amiko Alien 2+, Sogno Spark Revolution, Kathrein UFS910(1 & 14W)/912/913/922(CX24116 & AVL2108 tuners), Vizyon revolution 820HD PVR, AB IPBox 91HD/9000HD/9000HD rev.2, Xsarius Alpha HD10, nBox BKSA/BSLA/BXZB/BZZB, Vitamin HD 5000
    Sats: Astra 1, 2 & 3, Hotbird
    Main activity: building my own E2 images for Fortis receivers

  2. The Following 6 Users Say Thank You to Audioniek For This Useful Post:



Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Ja
  • Beiträge bearbeiten: Ja
  •