Exemplo n.º 1
0
import time
import threading

from hm_pyhelper.logger import get_logger
from gatewayconfig.gpio.mraa_gpio import init_mraa_pin

LOGGER = get_logger(__name__)

# How often to check for button presses
MONITOR_CHECK_INTERVAL_SECONDS = 0.05


class MraaButton(threading.Thread):
    """
    Unlike MraaLED, the button could not be easily monkey patched.
    Instead, basic button logic is implemented in its entirety.

    MraaButton will trigger #when_held if a button is pressed for
    hold_seconds. #when_held will only fire once if the button
    remains held down. If a button is pressed down for shorter,
    than hold_seconds, #when_held is not called.
    """
    def __init__(self, pin_number, hold_seconds):
        """
        pin_number refers to the pin number, not GPIO number:
        https://wiki.radxa.com/Rockpi4/hardware/gpio#GPIO_number
        """

        super(MraaButton, self).__init__()
        LOGGER.info("Initializing mraa button on pin %s" % pin_number)
        self.daemon = True
Exemplo n.º 2
0
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"""


import dbus
import dbus.service
from hm_pyhelper.logger import get_logger
from lib.cputemp.bletools import BleTools

logger = get_logger(__name__)

BLUEZ_SERVICE_NAME = "org.bluez"
LE_ADVERTISING_MANAGER_IFACE = "org.bluez.LEAdvertisingManager1"
DBUS_OM_IFACE = "org.freedesktop.DBus.ObjectManager"
DBUS_PROP_IFACE = "org.freedesktop.DBus.Properties"
LE_ADVERTISEMENT_IFACE = "org.bluez.LEAdvertisement1"


class Advertisement(dbus.service.Object):
    PATH_BASE = "/org/bluez/example/advertisement"

    def __init__(self, index, advertising_type):
        self.path = self.PATH_BASE + str(index)
        self.bus = BleTools.get_bus()
        self.ad_type = advertising_type
Exemplo n.º 3
0
from time import sleep
import dbus
from hm_pyhelper.logger import get_logger
from hm_pyhelper.miner_param import get_public_keys_rust
from hm_pyhelper.hardware_definitions import variant_definitions, get_variant_attribute
from hw_diag.utilities.shell import config_search_param

logging = get_logger(__name__)

DBUS_PROPERTIES = 'org.freedesktop.DBus.Properties'
DBUS_OBJECTMANAGER = 'org.freedesktop.DBus.ObjectManager'

# BlueZ
DBUS_BLUEZ_SERVICE_NAME = 'org.bluez'
DBUS_ADAPTER_IFACE = 'org.bluez.Adapter1'

# NetworkManager
DBUS_NM_SERVICE_NAME = 'org.freedesktop.NetworkManager'
DBUS_NM_OBJECT_PATH = '/org/freedesktop/NetworkManager'
DBUS_NM_IFACE = 'org.freedesktop.NetworkManager'
DBUS_NM_DEVICE_IFACE = 'org.freedesktop.NetworkManager.Device'

NM_DEVICE_TYPES = {
    1: "Ethernet",
    2: "Wi-Fi",
    5: "Bluetooth",
    6: "OLPC",
    7: "WiMAX",
    8: "Modem",
    9: "InfiniBand",
    10: "Bond",