API Reference
adafruit_pybadger.pybadger_base
Base class for badge-focused CircuitPython helper library.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://circuitpython.org/downloads
- class adafruit_pybadger.pybadger_base.KeyStates(scanner: Keys | ShiftRegisterKeys)
Convert
keypad.Eventinformation from the givenkeypadscanner into key-pressed state.- Parameters:
scanner – a
keypadscanner, such askeypad.Keys
- class adafruit_pybadger.pybadger_base.PyBadgerBase
PyBadger base class.
- activity(current_time=None)
Turn postpone dimming of the screen
- auto_dim_display(delay: float = 5.0, movement_threshold: int = 10)
Auto-dim the display when board is not moving.
- Parameters:
from adafruit_pybadger import pybadger while True: pybadger.auto_dim_display(delay=10)
- badge_background(background_color: tuple[int, int, int] = (255, 0, 0), rectangle_color: tuple[int, int, int] = (255, 255, 255), rectangle_drop: float = 0.4, rectangle_height: float = 0.5) displayio.Group
Create a customisable badge background made up of a background color with a rectangle color block over it. Defaults are for
show_badge.- Parameters:
background_color (tuple) – The color to fill the entire screen as a background, as RGB values.
rectangle_color (tuple) – The color of a rectangle that displays over the background, as RGB values.
rectangle_drop (float) – The distance from the top of the display to begin displaying the rectangle. Float represents a percentage of the display, e.g. 0.4 = 40% of the display. Defaults to
0.4.rectangle_height (float) – The height of the rectangle. Float represents a percentage of the display, e.g. 0.5 = 50% of the display. Defaults to
0.5.
from adafruit_pybadger import pybadger pybadger.badge_background(background_color=pybadger.WHITE, rectangle_color=pybadger.PURPLE, rectangle_drop=0.2, rectangle_height=0.6) while True: pybadger.show_custom_badge()
- badge_line(text: str = ' ', color: tuple[int, int, int] = (0, 0, 0), scale: int = 1, font: BuiltinFont | BDF | PCF = terminalio.FONT, left_justify: bool = False, padding_above: float = 0) None
Add a line of text to the display. Designed to work with
badge_backgroundfor a color-block style badge, or withimage_backgroundfor a badge with a background image.- Parameters:
text (str) – The text to display. Defaults to displaying a blank line if no text is provided.
color (tuple) – The color of the line of text. Defaults to
(0, 0, 0).scale (int) – The scale of the text. Must be an integer 1 or higher. Defaults to
1.font – The font used for displaying the text. Defaults to
terminalio.FONT.left_justify (bool) – Left-justify the line of text. Defaults to
Falsewhich centers the font on the display.padding_above (int) – Add padding above the displayed line of text. A
padding_aboveof1is equivalent to the height of one line of text,2is equivalent to the height of two lines of text, etc. Defaults to0.
The following example is designed to work on CLUE. To adapt for PyBadge or PyGamer, change the
scaleandpadding_abovevalues to fit the text to the display. Examples for CLUE, and PyBadge and PyGamer are included in the examples folder in the library repo.from adafruit_pybadger import pybadger pybadger.badge_background(background_color=pybadger.WHITE, rectangle_color=pybadger.PURPLE, rectangle_drop=0.2, rectangle_height=0.6) pybadger.badge_line(text="@circuitpython", color=pybadger.BLINKA_PURPLE, scale=2, padding_above=2) pybadger.badge_line(text="Blinka", color=pybadger.WHITE, scale=5, padding_above=3) pybadger.badge_line(text="CircuitPython", color=pybadger.WHITE, scale=3, padding_above=1) pybadger.badge_line(text="she/her", color=pybadger.BLINKA_PINK, scale=4, padding_above=4) while True: pybadger.show_custom_badge()
- static bitmap_qr(matrix: QRBitMatrix) displayio.Bitmap
The QR code bitmap.
- image_background(image_name: str | None = None) None
Create a bitmap image background.
- Parameters:
image_name (str) – The name of the bitmap image as a string including
.bmp, e.g."Blinka.bmp". Image file name is required.
from adafruit_pybadger import pybadger pybadger.image_background("Blinka.bmp") while True: pybadger.show_custom_badge()
- property pixels: NeoPixel
Sequence like object representing the NeoPixels on the board.
- play_file(file_name: str) None
Play a .wav file using the onboard speaker.
- Parameters:
file_name (str) – The name of your .wav file in quotation marks including .wav
- play_tone(frequency: int, duration: float) None
Produce a tone using the speaker. Try changing frequency to change the pitch of the tone.
- property root_group
The currently showing Group
- show_badge(*, background_color: tuple[int, int, int] = (255, 0, 0), foreground_color: tuple[int, int, int] = (255, 255, 255), background_text_color: tuple[int, int, int] = (255, 255, 255), foreground_text_color: tuple[int, int, int] = (0, 0, 0), hello_font: BuiltinFont | BDF | PCF = terminalio.FONT, hello_scale: int = 1, hello_string: str = 'HELLO', my_name_is_font: BuiltinFont | BDF | PCF = terminalio.FONT, my_name_is_scale: int = 1, my_name_is_string: str = 'MY NAME IS', name_font: BuiltinFont | BDF | PCF = terminalio.FONT, name_scale: int = 1, name_string: str = 'Blinka') None
Create a “Hello My Name is”-style badge.
- Parameters:
background_color (tuple) – The color of the background. Defaults to
(255, 0, 0).foreground_color (tuple) – The color of the foreground rectangle. Defaults to
(255, 255, 255).background_text_color (tuple) – The color of the “HELLO MY NAME IS” text. Defaults to
(255, 255, 255).foreground_text_color (tuple) – The color of the name text. Defaults to
(0, 0, 0).hello_font (~BuiltinFont|~BDF|~PCF) – The font for the “HELLO” string. Defaults to
terminalio.FONT.hello_scale (int) – The size scale of the “HELLO” string. Defaults to 1.
hello_string (str) – The first string of the badge. Defaults to “HELLO”.
my_name_is_font (~BuiltinFont|~BDF|~PCF) – The font for the “MY NAME IS” string. Defaults to
terminalio.FONT.my_name_is_scale (int) – The size scale of the “MY NAME IS” string. Defaults to 1.
my_name_is_string (str) – The second string of the badge. Defaults to “MY NAME IS”.
name_font (~BuiltinFont|~BDF|~PCF) – The font for the name string. Defaults to
terminalio.FONT.name_scale (int) – The size scale of the name string. Defaults to 1.
name_string (str) – The third string of the badge - change to be your name. Defaults to “Blinka”.
from adafruit_pybadger import pybadger while True: pybadger.show_badge(name_string="Blinka", hello_scale=2, my_name_is_scale=2, name_scale=3)
- show_business_card(*, image_name: str | None = None, name_string: str | None = None, name_scale: int = 1, name_font: BuiltinFont | BDF | PCF = terminalio.FONT, font_color: int = 16777215, font_background_color: int | None = None, email_string_one: str | None = None, email_scale_one: int = 1, email_font_one: BuiltinFont | BDF | PCF = terminalio.FONT, email_string_two: str | None = None, email_scale_two: int = 1, email_font_two: BuiltinFont | BDF | PCF = terminalio.FONT) None
Display a bitmap image and a text string, such as a personal image and email address.
- Parameters:
image_name (str) – REQUIRED. The name of the bitmap image including .bmp, e.g.
"Blinka.bmp".name_string (str) – A name string to display along the bottom of the display, e.g.
"Blinka".name_scale (int) – The scale of
name_string. Defaults to 1.name_font (~BuiltinFont|~BDF|~PCF) – The font for the name string. Defaults to
terminalio.FONT.font_background_color (int) – The color of the font background, default is None (transparent)
font_color (int) – The font color, default is white
email_string_one (str) – A string to display along the bottom of the display, e.g.
"blinka@adafruit.com".email_scale_one (int) – The scale of
email_string_one. Defaults to 1.email_font_one (~BuiltinFont|~BDF|~PCF) – The font for the first email string. Defaults to
terminalio.FONT.email_string_two (str) – A second string to display along the bottom of the display. Use if your email address is longer than one line or to add more space between the name and email address, e.g. (blinka@)
"adafruit.com".email_scale_two (int) – The scale of
email_string_two. Defaults to 1.email_font_two (~BuiltinFont|~BDF|~PCF) – The font for the second email string. Defaults to
terminalio.FONT.
from adafruit_pybadger import pybadger while True: pybadger.show_business_card(image_name="Blinka.bmp", name_string="Blinka", name_scale=2, email_string_one="blinka@", email_string_two="adafruit.com")
- show_custom_badge() None
Call
pybadger.show_custom_badge()to display the custom badge elements. Ifshow_custom_badge()is not called, the custom badge elements will not be displayed.
- show_qr_code(data: str = 'https://circuitpython.org') None
Generate a QR code.
- Parameters:
data (str) – A string of data for the QR code
from adafruit_pybadger import pybadger while True: pybadger.show_qr_code("https://adafruit.com")
- adafruit_pybadger.pybadger_base.load_font(fontname: str, text: str) BDF | PCF
Load a font and glyphs in the text string
adafruit_pybadger.clue
Badge-focused CircuitPython helper library for CLUE.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.clue.Clue
Class that represents a single CLUE.
- property button: Buttons
The buttons on the board.
Example use:
from adafruit_pybadger import pybadger while True: if pybadger.button.a: print("Button A") elif pybadger.button.b: print("Button B")
- property light
This feature is not supported on CLUE.
- property play_file
This feature is not supported on CLUE.
- adafruit_pybadger.clue.clue = <adafruit_pybadger.clue.Clue object>
Object that is automatically created on import.
adafruit_pybadger.magtag
Badge-focused CircuitPython helper library for Mag Tag.
Author(s): Kattni Rembor, Tim C
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.magtag.Buttons(a, b, c, d)
- a
Alias for field number 0
- b
Alias for field number 1
- c
Alias for field number 2
- d
Alias for field number 3
- class adafruit_pybadger.magtag.MagTag
Class that represents a single Mag Tag.
- property acceleration
This feature is not supported on Mag Tag.
- property button
This feature is not supported on Mag Tag.
- property light
This feature is not supported on Mag Tag.
- property play_file
This feature is not supported on Mag Tag.
- adafruit_pybadger.magtag.magtag = <adafruit_pybadger.magtag.MagTag object>
Object that is automatically created on import.
adafruit_pybadger.pewpewm4
Badge-focused CircuitPython helper library for Pew Pew M4.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.pewpewm4.Buttons(o, x, z, right, down, up, left)
- down
Alias for field number 4
- left
Alias for field number 6
- o
Alias for field number 0
- right
Alias for field number 3
- up
Alias for field number 5
- x
Alias for field number 1
- z
Alias for field number 2
- class adafruit_pybadger.pewpewm4.PewPewM4
Class that represents a single Pew Pew M4.
- property acceleration
This feature is not supported on PewPew M4.
- property button: Buttons
The buttons on the board.
Example use:
from adafruit_pybadger import pybadger while True: if pybadger.button.x: print("Button X") elif pybadger.button.o: print("Button O")
- property light
This feature is not supported on PewPew M4.
- property pixels
This feature is not supported on PewPew M4.
- adafruit_pybadger.pewpewm4.pewpewm4 = <adafruit_pybadger.pewpewm4.PewPewM4 object>
Object that is automatically created on import.
adafruit_pybadger.pybadge
Badge-focused CircuitPython helper library for PyBadge, PyBadge LC and EdgeBadge. All three boards are included in this module as there is no difference in the CircuitPython builds at this time, and therefore no way to differentiate the boards from within CircuitPython.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.pybadge.Buttons(b, a, start, select, right, down, up, left)
- a
Alias for field number 1
- b
Alias for field number 0
- down
Alias for field number 5
- left
Alias for field number 7
- right
Alias for field number 4
- select
Alias for field number 3
- start
Alias for field number 2
- up
Alias for field number 6
- class adafruit_pybadger.pybadge.PyBadge
Class that represents a single PyBadge, PyBadge LC, or EdgeBadge.
- adafruit_pybadger.pybadge.pybadge = <adafruit_pybadger.pybadge.PyBadge object>
Object that is automatically created on import.
adafruit_pybadger.pygamer
Badge-focused CircuitPython helper library for PyGamer.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.pygamer.Buttons(b, a, start, select, right, down, up, left)
- a
Alias for field number 1
- b
Alias for field number 0
- down
Alias for field number 5
- left
Alias for field number 7
- right
Alias for field number 4
- select
Alias for field number 3
- start
Alias for field number 2
- up
Alias for field number 6
- class adafruit_pybadger.pygamer.PyGamer
Class that represents a single PyGamer.
- adafruit_pybadger.pygamer.pygamer = <adafruit_pybadger.pygamer.PyGamer object>
Object that is automatically created on import.
adafruit_pybadger.pyportal
Badge-focused CircuitPython helper library for PyPortal.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_pybadger.pyportal.PyPortal
Class that represents a single PyPortal.
- property acceleration
This feature is not supported on PyPortal.
- property auto_dim_display
This feature is not supported on PyPortal.
- property button
This feature is not supported on PyPortal.
- adafruit_pybadger.pyportal.pyportal = <adafruit_pybadger.pyportal.PyPortal object>
Object that is automatically created on import.