fork
Dependencies: BLE_API mbed-dev-bin nRF51822
Fork of microbit-dal by
MicroBitDisplay Class Reference
Class definition for MicroBitDisplay. More...
#include <MicroBitDisplay.h>
Inherits MicroBitComponent.
Public Member Functions | |
MicroBitDisplay (uint16_t id=MICROBIT_ID_DISPLAY, const MatrixMap &map=microbitMatrixMap) | |
Constructor. | |
void | stopAnimation () |
Stops any currently running animation, and any that are waiting to be displayed. | |
virtual void | systemTick () |
Frame update method, invoked periodically to strobe the display. | |
int | printCharAsync (char c, int delay=0) |
Prints the given character to the display, if it is not in use. | |
int | printAsync (ManagedString s, int delay=MICROBIT_DEFAULT_PRINT_SPEED) |
Prints the given ManagedString to the display, one character at a time. | |
int | printAsync (MicroBitImage i, int x=0, int y=0, int alpha=0, int delay=0) |
Prints the given image to the display, if the display is not in use. | |
int | printChar (char c, int delay=0) |
Prints the given character to the display. | |
int | print (ManagedString s, int delay=MICROBIT_DEFAULT_PRINT_SPEED) |
Prints the given string to the display, one character at a time. | |
int | print (MicroBitImage i, int x=0, int y=0, int alpha=0, int delay=0) |
Prints the given image to the display. | |
int | scrollAsync (ManagedString s, int delay=MICROBIT_DEFAULT_SCROLL_SPEED) |
Scrolls the given string to the display, from right to left. | |
int | scrollAsync (MicroBitImage image, int delay=MICROBIT_DEFAULT_SCROLL_SPEED, int stride=MICROBIT_DEFAULT_SCROLL_STRIDE) |
Scrolls the given image across the display, from right to left. | |
int | scroll (ManagedString s, int delay=MICROBIT_DEFAULT_SCROLL_SPEED) |
Scrolls the given string across the display, from right to left. | |
int | scroll (MicroBitImage image, int delay=MICROBIT_DEFAULT_SCROLL_SPEED, int stride=MICROBIT_DEFAULT_SCROLL_STRIDE) |
Scrolls the given image across the display, from right to left. | |
int | animateAsync (MicroBitImage image, int delay, int stride, int startingPosition=MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS) |
"Animates" the current image across the display with a given stride, finishing on the last frame of the animation. | |
int | animate (MicroBitImage image, int delay, int stride, int startingPosition=MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS) |
"Animates" the current image across the display with a given stride, finishing on the last frame of the animation. | |
int | setBrightness (int b) |
Configures the brightness of the display. | |
void | setDisplayMode (DisplayMode mode) |
Configures the mode of the display. | |
int | getDisplayMode () |
Retrieves the mode of the display. | |
int | getBrightness () |
Fetches the current brightness of this display. | |
void | rotateTo (DisplayRotation position) |
Rotates the display to the given position. | |
void | enable () |
Enables the display, should only be called if the display is disabled. | |
void | disable () |
Disables the display, which releases control of the GPIO pins used by the display, which are exposed on the edge connector. | |
void | clear () |
Clears the display of any remaining pixels. | |
void | setFont (MicroBitFont font) |
Updates the font that will be used for display operations. | |
MicroBitFont | getFont () |
Retrieves the font object used for rendering characters on the display. | |
MicroBitImage | screenShot () |
Captures the bitmap currently being rendered on the display. | |
int | readLightLevel () |
Gives a representative figure of the light level in the current environment where are micro:bit is situated. | |
~MicroBitDisplay () | |
Destructor for MicroBitDisplay, where we deregister this instance from the array of system components. | |
virtual void | idleTick () |
The idle thread will call this member function once the component has been added to the array of idle components using fiber_add_idle_component. | |
virtual int | isIdleCallbackNeeded () |
When added to the idleThreadComponents array, this function will be called to determine if and when data is ready. |
Detailed Description
Class definition for MicroBitDisplay.
A MicroBitDisplay represents the LED matrix array on the micro:bit.
Definition at line 80 of file MicroBitDisplay.h.
Constructor & Destructor Documentation
MicroBitDisplay | ( | uint16_t | id = MICROBIT_ID_DISPLAY , |
const MatrixMap & | map = microbitMatrixMap |
||
) |
Constructor.
Create a software representation the micro:bit's 5x5 LED matrix. The display is initially blank.
- Parameters:
-
id The id the display should use when sending events on the MessageBus. Defaults to MICROBIT_ID_DISPLAY. map The mapping information that relates pin inputs/outputs to physical screen coordinates. Defaults to microbitMatrixMap, defined in MicroBitMatrixMaps.h.
MicroBitDisplay display;
Definition at line 55 of file MicroBitDisplay.cpp.
~MicroBitDisplay | ( | ) |
Destructor for MicroBitDisplay, where we deregister this instance from the array of system components.
Definition at line 1215 of file MicroBitDisplay.cpp.
Member Function Documentation
int animate | ( | MicroBitImage | image, |
int | delay, | ||
int | stride, | ||
int | startingPosition = MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS |
||
) |
"Animates" the current image across the display with a given stride, finishing on the last frame of the animation.
Blocks the calling thread until the animation is complete.
- Parameters:
-
delay The time to delay between each update of the display, in milliseconds. stride The number of pixels to shift by in each update. startingPosition the starting position on the display for the animation to begin at. Defaults to MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS.
- Returns:
- MICROBIT_OK, MICROBIT_CANCELLED or MICROBIT_INVALID_PARAMETER.
const int heart_w = 10; const int heart_h = 5; const uint8_t heart[] = { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, }; MicroBitImage i(heart_w,heart_h,heart); display.animate(i,100,5);
Definition at line 958 of file MicroBitDisplay.cpp.
int animateAsync | ( | MicroBitImage | image, |
int | delay, | ||
int | stride, | ||
int | startingPosition = MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS |
||
) |
"Animates" the current image across the display with a given stride, finishing on the last frame of the animation.
Returns immediately.
- Parameters:
-
image The image to display. delay The time to delay between each update of the display, in milliseconds. stride The number of pixels to shift by in each update. startingPosition the starting position on the display for the animation to begin at. Defaults to MICROBIT_DISPLAY_ANIMATE_DEFAULT_POS.
- Returns:
- MICROBIT_OK, MICROBIT_BUSY if the screen is in use, or MICROBIT_INVALID_PARAMETER.
const int heart_w = 10; const int heart_h = 5; const uint8_t heart[] = { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, }; MicroBitImage i(heart_w,heart_h,heart); display.animateAsync(i,100,5);
Definition at line 905 of file MicroBitDisplay.cpp.
void clear | ( | ) |
Clears the display of any remaining pixels.
`display.image.clear()` can also be used!
display.clear(); //clears the display
Definition at line 1148 of file MicroBitDisplay.cpp.
void disable | ( | ) |
Disables the display, which releases control of the GPIO pins used by the display, which are exposed on the edge connector.
display.disable(); //disables the display
- Note:
- Only disables the display if the display is currently enabled.
Definition at line 1134 of file MicroBitDisplay.cpp.
void enable | ( | ) |
Enables the display, should only be called if the display is disabled.
display.enable(); //Enables the display mechanics
- Note:
- Only enables the display if the display is currently disabled.
Definition at line 1119 of file MicroBitDisplay.cpp.
int getBrightness | ( | ) |
Fetches the current brightness of this display.
- Returns:
- the brightness of this display, in the range 0..255.
display.getBrightness(); //the current brightness
Definition at line 1058 of file MicroBitDisplay.cpp.
int getDisplayMode | ( | ) |
Retrieves the mode of the display.
- Returns:
- the current mode of the display
Definition at line 1044 of file MicroBitDisplay.cpp.
MicroBitFont getFont | ( | ) |
Retrieves the font object used for rendering characters on the display.
- Note:
- DEPRECATED! Please use MicroBitFont::getSystemFont() instead.
Definition at line 1170 of file MicroBitDisplay.cpp.
virtual void idleTick | ( | ) | [virtual, inherited] |
The idle thread will call this member function once the component has been added to the array of idle components using fiber_add_idle_component.
Updates are determined by the isIdleCallbackNeeded() member function.
Reimplemented in MicroBitBLEManager, MicroBitEventService, MicroBitIOPinService, MicroBitAccelerometer, MicroBitCompass, and MicroBitThermometer.
Definition at line 127 of file MicroBitComponent.h.
virtual int isIdleCallbackNeeded | ( | ) | [virtual, inherited] |
When added to the idleThreadComponents array, this function will be called to determine if and when data is ready.
- Note:
- override this if you want to request to be scheduled as soon as possible.
Reimplemented in MicroBitAccelerometer, MicroBitCompass, and MicroBitThermometer.
Definition at line 138 of file MicroBitComponent.h.
int print | ( | MicroBitImage | i, |
int | x = 0 , |
||
int | y = 0 , |
||
int | alpha = 0 , |
||
int | delay = 0 |
||
) |
Prints the given image to the display.
Blocks the calling thread until all the image has been displayed.
- Parameters:
-
i The image to display. x The horizontal position on the screen to display the image. Defaults to 0. y The vertical position on the screen to display the image. Defaults to 0. alpha Treats the brightness level '0' as transparent. Defaults to 0. delay The time to display the image for, or zero to show the image forever. Defaults to 0.
- Returns:
- MICROBIT_OK, MICROBIT_BUSY if the display is already in use, or MICROBIT_INVALID_PARAMETER.
MicrobitImage i("1,1,1,1,1\n1,1,1,1,1\n"); display.print(i,400);
Definition at line 685 of file MicroBitDisplay.cpp.
int print | ( | ManagedString | s, |
int | delay = MICROBIT_DEFAULT_PRINT_SPEED |
||
) |
Prints the given string to the display, one character at a time.
Blocks the calling thread until all the text has been displayed.
- Parameters:
-
s The string to display. delay The time to delay between characters, in milliseconds. Defaults to: MICROBIT_DEFAULT_PRINT_SPEED.
- Returns:
- MICROBIT_OK, MICROBIT_CANCELLED or MICROBIT_INVALID_PARAMETER.
display.print("abc123",400);
Definition at line 633 of file MicroBitDisplay.cpp.
int printAsync | ( | MicroBitImage | i, |
int | x = 0 , |
||
int | y = 0 , |
||
int | alpha = 0 , |
||
int | delay = 0 |
||
) |
Prints the given image to the display, if the display is not in use.
Returns immediately, and executes the animation asynchronously.
- Parameters:
-
i The image to display. x The horizontal position on the screen to display the image. Defaults to 0. y The vertical position on the screen to display the image. Defaults to 0. alpha Treats the brightness level '0' as transparent. Defaults to 0. delay The time to delay between characters, in milliseconds. Defaults to 0.
MicrobitImage i("1,1,1,1,1\n1,1,1,1,1\n"); display.print(i,400);
Definition at line 553 of file MicroBitDisplay.cpp.
int printAsync | ( | ManagedString | s, |
int | delay = MICROBIT_DEFAULT_PRINT_SPEED |
||
) |
Prints the given ManagedString to the display, one character at a time.
Returns immediately, and executes the animation asynchronously.
- Parameters:
-
s The string to display. delay The time to delay between characters, in milliseconds. Must be > 0. Defaults to: MICROBIT_DEFAULT_PRINT_SPEED.
- Returns:
- MICROBIT_OK, or MICROBIT_INVALID_PARAMETER.
display.printAsync("abc123",400);
Definition at line 508 of file MicroBitDisplay.cpp.
int printChar | ( | char | c, |
int | delay = 0 |
||
) |
Prints the given character to the display.
- Parameters:
-
c The character to display. delay Optional parameter - the time for which to show the character. Zero displays the character forever, or until the Displays next use.
- Returns:
- MICROBIT_OK, MICROBIT_CANCELLED or MICROBIT_INVALID_PARAMETER.
display.printAsync('p'); display.printAsync('p',100);
Definition at line 592 of file MicroBitDisplay.cpp.
int printCharAsync | ( | char | c, |
int | delay = 0 |
||
) |
Prints the given character to the display, if it is not in use.
- Parameters:
-
c The character to display. delay Optional parameter - the time for which to show the character. Zero displays the character forever, or until the Displays next use.
- Returns:
- MICROBIT_OK, MICROBIT_BUSY is the screen is in use, or MICROBIT_INVALID_PARAMETER.
display.printAsync('p'); display.printAsync('p',100);
Definition at line 467 of file MicroBitDisplay.cpp.
int readLightLevel | ( | ) |
Gives a representative figure of the light level in the current environment where are micro:bit is situated.
Internally, it constructs an instance of a MicroBitLightSensor if not already configured and sets the display mode to DISPLAY_MODE_BLACK_AND_WHITE_LIGHT_SENSE.
This also changes the tickPeriod to MICROBIT_LIGHT_SENSOR_TICK_SPEED so that the display does not suffer from artifacts.
- Returns:
- an indicative light level in the range 0 - 255.
- Note:
- this will return 0 on the first call to this method, a light reading will be available after the display has activated the light sensor for the first time.
Definition at line 1201 of file MicroBitDisplay.cpp.
void rotateTo | ( | DisplayRotation | rotation ) |
Rotates the display to the given position.
Axis aligned values only.
display.rotateTo(MICROBIT_DISPLAY_ROTATION_180); //rotates 180 degrees from original orientation
Definition at line 1072 of file MicroBitDisplay.cpp.
MicroBitImage screenShot | ( | ) |
Captures the bitmap currently being rendered on the display.
- Returns:
- a MicroBitImage containing the captured data.
Definition at line 1180 of file MicroBitDisplay.cpp.
int scroll | ( | ManagedString | s, |
int | delay = MICROBIT_DEFAULT_SCROLL_SPEED |
||
) |
Scrolls the given string across the display, from right to left.
Blocks the calling thread until all text has been displayed.
- Parameters:
-
s The string to display. delay The time to delay between characters, in milliseconds. Defaults to: MICROBIT_DEFAULT_SCROLL_SPEED.
- Returns:
- MICROBIT_OK, MICROBIT_CANCELLED or MICROBIT_INVALID_PARAMETER.
display.scroll("abc123",100);
Definition at line 809 of file MicroBitDisplay.cpp.
int scroll | ( | MicroBitImage | image, |
int | delay = MICROBIT_DEFAULT_SCROLL_SPEED , |
||
int | stride = MICROBIT_DEFAULT_SCROLL_STRIDE |
||
) |
Scrolls the given image across the display, from right to left.
Blocks the calling thread until all the text has been displayed.
- Parameters:
-
image The image to display. delay The time between updates, in milliseconds. Defaults to: MICROBIT_DEFAULT_SCROLL_SPEED. stride The number of pixels to shift by in each update. Defaults to MICROBIT_DEFAULT_SCROLL_STRIDE.
- Returns:
- MICROBIT_OK, MICROBIT_CANCELLED or MICROBIT_INVALID_PARAMETER.
MicrobitImage i("1,1,1,1,1\n1,1,1,1,1\n"); display.scroll(i,100,1);
Definition at line 854 of file MicroBitDisplay.cpp.
int scrollAsync | ( | ManagedString | s, |
int | delay = MICROBIT_DEFAULT_SCROLL_SPEED |
||
) |
Scrolls the given string to the display, from right to left.
Returns immediately, and executes the animation asynchronously.
- Parameters:
-
s The string to display. delay The time to delay between characters, in milliseconds. Defaults to: MICROBIT_DEFAULT_SCROLL_SPEED.
- Returns:
- MICROBIT_OK, MICROBIT_BUSY if the display is already in use, or MICROBIT_INVALID_PARAMETER.
display.scrollAsync("abc123",100);
Definition at line 725 of file MicroBitDisplay.cpp.
int scrollAsync | ( | MicroBitImage | image, |
int | delay = MICROBIT_DEFAULT_SCROLL_SPEED , |
||
int | stride = MICROBIT_DEFAULT_SCROLL_STRIDE |
||
) |
Scrolls the given image across the display, from right to left.
Returns immediately, and executes the animation asynchronously.
- Parameters:
-
image The image to display. delay The time between updates, in milliseconds. Defaults to: MICROBIT_DEFAULT_SCROLL_SPEED. stride The number of pixels to shift by in each update. Defaults to MICROBIT_DEFAULT_SCROLL_STRIDE.
- Returns:
- MICROBIT_OK, MICROBIT_BUSY if the display is already in use, or MICROBIT_INVALID_PARAMETER.
MicrobitImage i("1,1,1,1,1\n1,1,1,1,1\n"); display.scrollAsync(i,100,1);
Definition at line 768 of file MicroBitDisplay.cpp.
int setBrightness | ( | int | b ) |
Configures the brightness of the display.
- Parameters:
-
b The brightness to set the brightness to, in the range 0 - 255.
- Returns:
- MICROBIT_OK, or MICROBIT_INVALID_PARAMETER
display.setBrightness(255); //max brightness
Definition at line 999 of file MicroBitDisplay.cpp.
void setDisplayMode | ( | DisplayMode | mode ) |
Configures the mode of the display.
- Parameters:
-
mode The mode to swap the display into. One of: DISPLAY_MODE_GREYSCALE, DISPLAY_MODE_BLACK_AND_WHITE, DISPLAY_MODE_BLACK_AND_WHITE_LIGHT_SENSE
display.setDisplayMode(DISPLAY_MODE_GREYSCALE); //per pixel brightness
Definition at line 1020 of file MicroBitDisplay.cpp.
void setFont | ( | MicroBitFont | font ) |
Updates the font that will be used for display operations.
- Parameters:
-
font the new font that will be used to render characters.
- Note:
- DEPRECATED! Please use MicroBitFont::setSystemFont() instead.
Definition at line 1160 of file MicroBitDisplay.cpp.
void stopAnimation | ( | ) |
Stops any currently running animation, and any that are waiting to be displayed.
Resets the current given animation.
Definition at line 412 of file MicroBitDisplay.cpp.
void systemTick | ( | ) | [virtual] |
Frame update method, invoked periodically to strobe the display.
Internal frame update method, used to strobe the display.
TODO: Write a more efficient, complementary variation of this method for the case where MICROBIT_DISPLAY_ROW_COUNT > MICROBIT_DISPLAY_COLUMN_COUNT.
Reimplemented from MicroBitComponent.
Definition at line 97 of file MicroBitDisplay.cpp.
Generated on Tue Jul 12 2022 19:47:36 by 1.7.2