Posts by Da Flex

    The autostart.sh calls a Python script. The Python script will set electrical levels to specific GPIO pins. A device, connected to GPIO (Hyperion), will listen to those level changes at GPIO. That's usually the way to start or reset connected RasPi hardware.

    When I have some time, I will have a look at the Hyperion project.

    I can help you to adapt the scripts, but I need the necessary infos for Hyperion GPIO events.

    English is not my mother language. "Outage" means an electrical accident, and no power for a short time, right?

    After that outage, the RasPi and LibreELEC will start. You can trigger the fitting GPIO signals by using autostart. In the Python script (see link above), you can learn how to set GPIO levels. I don't know the right pins / signals to start Hyperion. That's not part of LibreELEC. Can you do a research for this?

    I could handle cutting off the power with smart plug or whatever, but I found out that if I cut power (I am powering Rpi through Leds via Gpio), hyperion does not start automatically when I power on again. Leds remain off.

    I wouldn't do that. It's better not to cut the power for the RasPi. Use a RasPi power button instead. That should keep Hyperion in a defined state, and should power it on with the RasPi when the power button is pressed. You can use PuTTY on Win10 to add the necessary scripts to RasPi.

    For the installation of the button, you may have some space between the RasPi Ethernet port and the upper part of the RasPi case. If you have enough space there, you can just lay the button on the Ethernet port without mounting it permanently. Then you just have to drill a hole over the Ethernet port, insert the button and close the case to fix it.

    Here is the button that I use: 10x tact push buttons. With some cables and basic soldering skills everybody can do it.

    I still don't understand your setup, especially "I am powering Rpi through Leds via Gpio".

    Generally, you can have an on/off button on the RPi, you can autostart scripts when LibreELEC starts, and you can trigger scripts by GPIO events. Does any of those options solve the problem?

    Marry Christmas, robmcc83!

    It's definitely possible to make your case work with LE. I did an on/off button (see here) and a status LED (see here).

    You just have to adapt the pin numbering for your needs. Take care about the difference of GPIO and pin numbering system.

    Adding a reset function to the Python script should be no problem, too (use the "reboot" command).

    Da Flex

    Downgrading will produce more trouble than it solves. Use the current stable LibreELEC, and find out what happens when you go deep into file hierarchy.

    Create the file advancedsettings.xml at .kodi/userdata, and add this lines:

    Code
    <advancedsettings>
      <loglevel>1</loglevel>
    </advancedsettings>

    When you get those blackouts, grab the kodi.log (now set to log level 1) from .kodi/temp, and analyze it with us.

    The log looks OK to me. Watch out for changes inside the XML "videoscreen.whitelist" tag at guisettings.xml:

    Code
    <setting id="videoscreen.whitelist">

    When your computer wakes up, it maybe gets a different whitelist, compared to the state before standby. That will change the guisettings.xml (the content of XML "videoscreen.whitelist" tag), and the GUI will ask you to save it. The whitelist stores all possible resolutions / vertical frequencies available for the display device.

    I think LibreELEC uses a different kernel (compared to Raspbian), which makes UART trouble. UART0 (ttyAMA0) with the LibreELEC kernel is now used by Bluetooth, as you already found out.

    There is "full UART" and "mini UART". You want to use "full UART". This should switch Bluetooth to "mini UART":

    Code
    dtoverlay=pi3-miniuart-bt

    It's a good one. Ca. 40 MB/s is the maximum reading speed inside of a RPi3, so the card is fast enough. Error correction is usually done by the file system, and maybe reduce the storage capacity over the years. Some cards have an additional internal error correction system.

    Extreme heat is the enemy of any card. With a good cooling strategy you can increase the card's lifetime. Kingston has some military grade cards, made for extreme temperature.

    Another hint: I have been added this lines before the "try" statement in the off-button.py:

    Code
    led_gpio_number = 13
    GPIO.setup(led_gpio_number, GPIO.OUT)
    GPIO.output(led_gpio_number, True)

    This will turn my status LED on when LibreELEC starts. The status LED will turn off automatically at shutdown, because the shutdown will set all GPIO levels back to default state.

    You can use the same code, too: If you connect GPIO 13 (and maybe it's opposite ground pin) with your circuit, it will have the same effect like connecting and listening to an USB port (whether it has the default 5V or not).

    The only difference is that you have to handle 3.3V of the GPIO instead of the 5V of USB.

    The shutdown command will not turn off 5V completely - it goes to standby. In standby it will listen to GPIO, and can be switched on with a GPIO button.

    I have been installed a power on/off button at my RPi3B+, which works perfectly with LibreELEC. Read this thread for instructions. If I understand you right, your timer will do a complete 5V power off after the shutdown.

    PS: With the off-button.py script (see linked thread) you can trigger a GPIO signal right before shutdown. If you listen to that GPIO "off" signal with your timer, it should work.

    However, although I can set the resolution to 576 or 1080 lines, set the Vertical sync to 50Hz but I cannot set the Horizontal Sync frequency from 31KHz to 15.6KHz in the LibreElec menu. There is no option. How can I find out if my card supports this option and how can I set it?

    Yes, there is no option for horizontal frequencies.

    You will find this XML tag in your guisettings.xml:

    Code
    <setting id="videoscreen.whitelist">

    It contains all possible resolutions / vertical frequencies for the output device.

    If whitelist changes from time to time with the same output device, it indicates a connection problem.