Ravel Kit API#

This API is designed for the ravel Kit and extends the UCUq API. To simplify implementation, it abstracts away the hardware-specific aspects (communication protocols, pins used, etc.).

ravel#

  • ucuq.ravel: object used to manipulate the kit as a whole;
  • ravel.raz(): resets all components of the kit;
  • ravel.displayRingGauges(): displays a gauge on the LCD panel showing the RGB values of each LED of the ring; requires a prior call to panel.uploadUpwardGaugeChars().

buzzer#

  • ucuq.ravel.buzzer: object used to operate the buzzer;
  • for other methods, see ucuq.Buzzer

ring#

  • ucuq.ravel.ring: object used to operate the RGB ring;
  • for other methods, see ucuq.WS2812

screen#

  • ucuq.ravel.screen: object used to operate the OLED screen;
  • for other methods, see ucuq.SSD1306_I2C.

panel#

  • ucuq.ravel.panel: used to operate the LCD panel;
  • for other methods, see ucuq.HD44780_I2C.

upper#

  • ucuq.ravel.upper: object used to operate the upper servo;
  • upper.set(<value>): sets the servo to the value <value> (between 0 and 6554, inclusive);
  • upper.get(): returns the servo’s position;
  • upper.park(): sets the servo to its rest position.

lower#

  • ucuq.ravel.Lower(): object used to operate the upper servomotor;
  • for other methods, see ucuq.ravel.Upper.

Constants (in ucuq.ravel)#

  • SERVO_MAX: maximum value for the position of the Upper and Lower servos;
  • RING_MAX: maximum value for each color (R, G, and B) of the Ring LEDs;
  • RING_SIZE: number of LEDs in the ring;
  • SCREEN_WIDTH: number of horizontal pixels on the OLED screen;
  • SCREEN_HEIGHT: number of vertical pixels on the OLED screen;
  • PANEL_WIDTH: number of characters per line on the LCD panel;
  • PANEL_HEIGHT: number of lines on the LCD panel.