tv shield driver
tv — tv shield driver
The tv module is used for controlling the tv shield.
Example usage:
import sensor, tv
# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.SIF)
sensor.skip_frames()
tv.init()
# Show image.
while(True):
tv.display(sensor.snapshot())Functions
tv.init
tv.init(type=TV_SHIELD, triple_buffer=False) -> NoneInitializes an attached tv output module.
type indicates how the lcd module should be initialized:
- tv.TV_NONE: Do nothing.
- tv.TV_SHIELD: Initialize a TV output module. Uses pins P0, P1, P2, and P3.
triple_buffer If True then makes updates to the screen non-blocking in tv.TV_SHIELD
mode at the cost of 3X the display RAM (495 KB).
tv.deinit
tv.deinit() -> NoneDeinitializes the tv module, internal/external hardware, and I/O pins.
tv.width
tv.width() -> intReturns 352 pixels. This is the sensor.SIF resolution.
tv.height
tv.height() -> intReturns 240 pixels. This is the sensor.SIF resolution.
tv.type
tv.type() -> intReturns the type of the screen that was set during tv.init().
tv.triple_buffer
tv.triple_buffer() -> boolReturns if triple buffering is enabled that was set during tv.init().
tv.refresh
tv.refresh() -> NoneReturns 60 Hz.
tv.channel
tv.channel(channel: int | None = None) -> intFor the wireless TV shield this sets the broadcast channel between 1-8. If passed without a channel argument then this method returns the previously set channel (1-8). Default is channel 8.
tv.display
tv.display(image: image.Image, x=0, y=0, x_scale=1.0, y_scale=1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel=-1, alpha=256, color_palette=None, alpha_palette=None, hint=0)Displays an image whose top-left corner starts at location x, y.
x_scale controls how much the displayed image is scaled by in the x direction (float). If this
value is negative the image will be flipped horizontally. Note that if y_scale is not specified
then it will match x_scale to maintain the aspect ratio.
y_scale controls how much the displayed image is scaled by in the y direction (float). If this
value is negative the image will be flipped vertically. Note that if x_scale is not specified
then it will match x_scale to maintain the aspect ratio.
roi is the region-of-interest rectangle tuple (x, y, w, h) of the image to display. This
allows you to extract just the pixels in the ROI to scale.
rgb_channel is the RGB channel (0=R, G=1, B=2) to extract from an RGB565 image (if passed)
and to render on the display. For example, if you pass rgb_channel=1 this will
extract the green channel of the RGB565 image and display that in grayscale.
alpha controls how opaque the image is. A value of 256 displays an opaque image while a
value lower than 256 produces a black transparent image. 0 results in a perfectly black image.
color_palette if not -1 can be image.PALETTE_RAINBOW, image.PALETTE_IRONBOW, or
a 256 pixel in total RGB565 image to use as a color lookup table on the grayscale value of
whatever the input image is. This is applied after rgb_channel extraction if used.
alpha_palette if not -1 can be a 256 pixel in total GRAYSCALE image to use as a alpha
palette which modulates the alpha value of the input image being displayed at a pixel pixel
level allowing you to precisely control the alpha value of pixels based on their grayscale value.
A pixel value of 255 in the alpha lookup table is opaque which anything less than 255 becomes
more transparent until 0. This is applied after rgb_channel extraction if used.
hint can be a logical OR of the flags:
- image.AREA: Use area scaling when downscaling versus the default of nearest neighbor.
- image.BILINEAR: Use bilinear scaling versus the default of nearest neighbor scaling.
- image.BICUBIC: Use bicubic scaling versus the default of nearest neighbor scaling.
- image.CENTER: Center the image being drawn on the display. This is applied after scaling.
- image.HMIRROR: Horizontally mirror the image.
- image.VFLIP: Vertically flip the image.
- image.TRANSPOSE: Transpose the image (swap x/y).
- image.EXTRACT_RGB_CHANNEL_FIRST: Do rgb_channel extraction before scaling.
- image.APPLY_COLOR_PALETTE_FIRST: Apply color palette before scaling.
- image.SCALE_ASPECT_KEEP: Scale the image being drawn to fit inside the display.
- image.SCALE_ASPECT_EXPAND: Scale the image being drawn to fill the display (results in cropping)
- image.SCALE_ASPECT_IGNORE: Scale the image being drawn to fill the display (results in stretching).
- image.ROTATE_90: Rotate the image by 90 degrees (this is just VFLIP | TRANSPOSE).
- image.ROTATE_180: Rotate the image by 180 degrees (this is just HMIRROR | VFLIP).
- image.ROTATE_270: Rotate the image by 270 degrees (this is just HMIRROR | TRANSPOSE).
Constants
tv.TV_NONE
tv.TV_NONE: intReturned by tv.type() when the this module is not initialized.
tv.TV_SHIELD
tv.TV_SHIELD: intUsed to initialize the TV module.
