Logging, more documentation
This commit is contained in:
parent
6eebab871e
commit
4a5f630d40
11 changed files with 66 additions and 27 deletions
|
@ -26,6 +26,7 @@ asynchronousLogstashHandler = AsynchronousLogstashHandler(
|
|||
database_path='logs.db'
|
||||
)
|
||||
|
||||
|
||||
class StreamToLogger(object):
|
||||
"""
|
||||
Fake file-like stream object that redirects writes to a logger instance.
|
||||
|
@ -53,6 +54,7 @@ class StreamToLogger(object):
|
|||
self.linebuf = ''
|
||||
asynchronousLogstashHandler.flush()
|
||||
|
||||
|
||||
try:
|
||||
r = requests.head(f"http://{host}:{port}")
|
||||
if r.status_code == 400:
|
||||
|
@ -67,12 +69,23 @@ except requests.exceptions.ConnectionError as identifier:
|
|||
print(f"Could not connect to {host}!")
|
||||
pass
|
||||
|
||||
|
||||
class Logging(object):
|
||||
"""Can be used to manually use the logger or turn up the logging level used for debugging this library.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def get_logger() -> logging.Logger:
|
||||
"""Get the logger object used to communicate with logstash
|
||||
|
||||
:return: Python logger
|
||||
:rtype: logging.Logger
|
||||
"""
|
||||
return logstash_logger
|
||||
|
||||
@staticmethod
|
||||
def set_debug():
|
||||
"""Turns up the logging level of the library to debug. Should be used, when debugging with the
|
||||
Competition organizers
|
||||
"""
|
||||
logstash_logger.setLevel(logging.DEBUG)
|
||||
|
|
|
@ -16,16 +16,20 @@ class Motor(object):
|
|||
"""
|
||||
|
||||
@staticmethod
|
||||
def power(port: int, percent: int):
|
||||
def power(port: int, percent: float):
|
||||
"""Set specified motor to percentage power
|
||||
|
||||
:param port: Port, which the motor is connected to. 0-3, 0 -> top left, 3 -> top right
|
||||
:param percent: Percentage of max speed. between -100 and 100
|
||||
:raises: IndexError
|
||||
"""
|
||||
Logging.get_logger().debug(f"Motor.power {port} {percent}")
|
||||
|
||||
if port < 0 or port >= MOTOR_COUNT:
|
||||
raise IndexError("Invalid Motor port specified!")
|
||||
raise IndexError("Invalid Motor port specified!")
|
||||
|
||||
if percent < -100 or percent > 100:
|
||||
raise IndexError("Invalid Motor speed specified! Speed is between -100 and 100 percent!")
|
||||
|
||||
forward = True
|
||||
if percent < 0:
|
||||
|
@ -36,7 +40,7 @@ class Motor(object):
|
|||
if port == 1:
|
||||
forward = not forward
|
||||
|
||||
adjusted_speed = int(min(max(0, percent), 100) * MOTOR_PERCENTAGE_MULT)
|
||||
adjusted_speed = int(min(max(0.0, percent), 100.0) * MOTOR_PERCENTAGE_MULT)
|
||||
|
||||
if forward:
|
||||
pwm.setMotorPwm(port * 2, adjusted_speed)
|
||||
|
|
|
@ -35,7 +35,7 @@ extensions = [
|
|||
'sphinx_rtd_theme'
|
||||
]
|
||||
|
||||
autodoc_mock_imports = ["smbus", "compLib.PCA9685", "RPi"]
|
||||
autodoc_mock_imports = ["smbus", "compLib.PCA9685", "RPi", "pigpio", "flask"]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
.. _lib_api:
|
||||
|
||||
Api
|
||||
=====
|
||||
****
|
||||
|
||||
Seeding
|
||||
********
|
||||
========
|
||||
|
||||
.. autoclass:: compLib.Api.Seeding
|
||||
:members:
|
||||
|
||||
Double Elimination
|
||||
*******************
|
||||
===================
|
||||
|
||||
.. autoclass:: compLib.Api.DoubleElim
|
||||
:members:
|
||||
|
||||
Position
|
||||
*********
|
||||
========
|
||||
|
||||
.. autoclass:: compLib.Api.Position
|
||||
:members:
|
||||
|
||||
|
||||
Examples
|
||||
*********
|
||||
========
|
||||
|
||||
Calling Seeding API
|
||||
---------------------
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
.. _lib_battery:
|
||||
|
||||
Battery
|
||||
########
|
||||
********
|
||||
|
||||
Class Documentation
|
||||
********************
|
||||
====================
|
||||
|
||||
.. autoclass:: compLib.Battery.Battery
|
||||
:members:
|
||||
|
||||
|
||||
Examples
|
||||
*********
|
||||
=========
|
||||
|
||||
Printing percentage
|
||||
====================
|
||||
--------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
.. _lib_buzzer:
|
||||
|
||||
Buzzer
|
||||
#######
|
||||
*******
|
||||
|
||||
Class Documentation
|
||||
********************
|
||||
====================
|
||||
|
||||
.. autoclass:: compLib.Buzzer.Buzzer
|
||||
:members:
|
||||
|
||||
Examples
|
||||
*********
|
||||
=========
|
||||
|
||||
Turning buzzer on and off
|
||||
==========================
|
||||
--------------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.. _lib_irsensor:
|
||||
|
||||
Infrared Sensor
|
||||
================
|
||||
****************
|
||||
|
||||
.. autoclass:: compLib.IRSensor.IRSensor
|
||||
:members:
|
22
docs/source/lib/Logging.rst
Normal file
22
docs/source/lib/Logging.rst
Normal file
|
@ -0,0 +1,22 @@
|
|||
.. _lib_logging:
|
||||
|
||||
Logging
|
||||
*******
|
||||
|
||||
Class Documentation
|
||||
====================
|
||||
|
||||
.. autoclass:: compLib.LogstashLogging.Logging
|
||||
:members:
|
||||
|
||||
Examples
|
||||
=========
|
||||
|
||||
Turn up the logging
|
||||
--------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from compLib.LogstashLogging import Logging
|
||||
|
||||
Logging.set_debug()
|
|
@ -1,19 +1,19 @@
|
|||
.. _lib_motor:
|
||||
|
||||
Motor
|
||||
######
|
||||
******
|
||||
|
||||
Class Documentation
|
||||
********************
|
||||
====================
|
||||
|
||||
.. autoclass:: compLib.Motor.Motor
|
||||
:members:
|
||||
|
||||
Examples
|
||||
*********
|
||||
=========
|
||||
|
||||
Driving straight (maybe)
|
||||
=========================
|
||||
-------------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.. _lib_servo:
|
||||
|
||||
Servo
|
||||
=====
|
||||
******
|
||||
|
||||
.. autoclass:: compLib.Servo.Servo
|
||||
:members:
|
|
@ -1,7 +1,7 @@
|
|||
.. _lib_vision:
|
||||
|
||||
Vision
|
||||
=====
|
||||
*******
|
||||
|
||||
This module provides an interface for grabbing an rtmp stream and using the images to do some processing in opencv.
|
||||
|
||||
|
@ -13,7 +13,7 @@ How do I use this module?
|
|||
4. You can view the http stream of your processed images in a web browser
|
||||
|
||||
Opencv Stream
|
||||
*************
|
||||
==============
|
||||
|
||||
Because of the rtmp stream needing to buffer some frames and waiting for P-Frames, importing this module might take up
|
||||
to 5 Seconds.
|
||||
|
@ -22,10 +22,10 @@ to 5 Seconds.
|
|||
:members:
|
||||
|
||||
Examples
|
||||
*********
|
||||
=========
|
||||
|
||||
Using the Vision Module
|
||||
---------------------
|
||||
-------------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
|
Reference in a new issue