Exemplo n.º 1
0
import sys
import platform
import datetime
from enum import Enum

# If this is not a Raspberry Pi
if platform.machine() != 'armv7l':

    import fake_rpi
    from fake_rpi import toggle_print

    sys.modules['RPi'] = fake_rpi.RPi            # Fake RPi
    sys.modules['RPi.GPIO'] = fake_rpi.RPi.GPIO  # Fake GPIO
    sys.modules['smbus'] = fake_rpi.smbus        # Fake smbus (I2C)
    toggle_print(False)
    fake_rpi.RPi.GPIO.set_input(15, 0)
    fake_rpi.RPi.GPIO.set_input(14, 0)
import RPi.GPIO as GPIO   # Import Raspberry Pi GPIO library


GPIO.setwarnings(False)   # Ignore warning for now
GPIO.setmode(GPIO.BOARD)  # Use physical pin numbering


class CoffeeMachine:
    """Coffee machine class"""
    class State(Enum):
        """Enumerable class representing the different
        states of the coffee machine"""
        OFF = 0
Exemplo n.º 2
0
import os
import warnings

from flask import Flask

# Import fake rpi libraries if we're not on a raspberry pi
try:
    import smbus
    import RPi
except ImportError:
    import sys
    import fake_rpi

    # by default it prints everything to std.error
    fake_rpi.toggle_print(False)  # turn off printing

    sys.modules["RPi"] = fake_rpi.RPi  # Fake RPi (GPIO)
    sys.modules["smbus"] = fake_rpi.smbus  # Fake smbus (I2C)

    import RPi
    import smbus


from therm.models import Sample, State, db
from therm import settings, relay, buttons

# Flask-sqlalchemy has some deprecationwarnings; squish em https://github.com/pallets/flask-sqlalchemy/issues/671
from sqlalchemy import exc

warnings.filterwarnings("ignore", category=exc.SADeprecationWarning)
warnings.filterwarnings("ignore", message="The psycopg2 wheel package will be renamed from release 2.8")
Exemplo n.º 3
0
# -*- coding: utf-8 -*-
# conftest.py

import pytest


# Replace libraries by fake RPi ones
import sys
import fake_rpi

sys.modules["RPi"] = fake_rpi.RPi  # Fake RPi
sys.modules["RPi.GPIO"] = fake_rpi.RPi.GPIO  # Fake GPIO
sys.modules["smbus"] = fake_rpi.smbus  # Fake smbus (I2C)

fake_rpi.toggle_print(False)
Exemplo n.º 4
0
 def toggle_fake_print(p):
     fake_rpi.toggle_print(p)
Exemplo n.º 5
0
def setup_plugin(ow: "OpenWater", config: dict):
    toggle_print(False)
    ow.add_job(gpio.setmode, gpio.BCM)
    ow.data[DATA_GPIO] = OWGpio(ow)
Exemplo n.º 6
0
from PyQt5 import QtWidgets, QtCore
from F3FChrono.Utils import is_running_on_pi
import os.path

if not is_running_on_pi():
    # Replace libraries by fake ones
    import sys
    import fake_rpi

    sys.modules['RPi'] = fake_rpi.RPi  # Fake RPi (GPIO)
    sys.modules['RPi.GPIO'] = fake_rpi.RPi.GPIO  # Fake GPIO
    sys.modules['smbus'] = fake_rpi.smbus  # Fake smbus (I2C)
    from fake_rpi import toggle_print

    # by default it prints everything to std.error
    toggle_print(False)  # turn on/off printing

from F3FChrono.chrono import ConfigReader
from F3FChrono.gui.MainUiController import MainUiCtrl
from F3FChrono.data.Chrono import Chrono
from F3FChrono.data.dao.EventDAO import EventDAO
from F3FChrono.gui.Simulate_base import SimulateBase
from F3FChrono.data.web.Utils import Utils


def main():

    #logging.basicConfig (filename="runchrono.log", level=logging.DEBUG, format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
    if is_running_on_pi():
        print("warm-up 2 seconds...")
        time.sleep(2.0)
Exemplo n.º 7
0
from fake_rpi import printf
from fake_rpi import toggle_print

# Replace libraries by fake ones
import sys
import fake_rpi

sys.modules['RPi'] = fake_rpi.RPi
sys.modules['smbus'] = fake_rpi.smbus

# Then keep the transparent import everywhere in the application and dependencies
import RPi.GPIO as GPIO
import smbus

toggle_print(True)  # turn on/off printing

pwm = GPIO.PWM()
pwm.start(5)

i2c = smbus.SMBus(1)
i2c.write_byte_data(1, 2, 3)
i2c.read_byte_data(1, 2)
i2c.close()


class MyBus(smbus.SMBus):
    """
	Here I want to over ride how this behaves for testing
	"""
    @printf