Send4() - The OLED Display Command

The Send4() command is used to make changes to the display on an OLED, however, for the display to be updated a Yield() command needs to be used to allow the display to refresh the changes.

All OLED button stations have been discontinued but if you need help there is an OLED calculator in the task editor and here is the location of a document that will help you do this for an OLED screen: https://www.dynalite.org/view/1968/07f9b4c7892d24fac1735fbc8f697fe3

Syntax

Send4("<parameter 1><parameter 2>…​<parameter n>")
The parameters specify what is displayed on the screen, how it interacts with what was already there, what it looks like, what it says, and where it is.

parameters - all products
  • <boundingbox> - Define the region where text will be drawn. Parameters - X= number of pixels from the left. Y= number of pixels from the top. width= Number of pixels wide, height= number of pixels high.

  • <br> - Advance the cursor to the next line.

  • <clearscreen> - Clear screen and move cursor to top left.

  • <cursorxy> - Move text cursor to coordinates

    • x= - Number of pixels from the left

    • y= - Number of pixels from the top

  • <graphlevel> - Draw a graph of the supplied level.

    • x= - Number of pixels from the left

    • y= - Number of pixels from the top

    • width= - Number of pixels wide

    • height= - Number of pixels high

    • level= - Level 0=min, 254=max, 255="Don’t Know"

    • textflag= - 1 the value is displayed as a percentage

    • 0 the value is displayed as a DyNet Level 0-255

  • <rect> - Draw a rectangle.

    • x= - Number of pixels from the left

    • y= - Number of pixels from the top

    • width= - Number of pixels wide

    • height= - Number of pixels high

    • filledflag= - 1 filled and 0 open

  • <tildeval> - Read and display the value in a tilde memory.

    • addr=- Index of User Ram (~) location

    • percentflag=

      • 0=Display as 0..255 value * 1=Convert 0..255 value to 0..100 percent before displaying and suffix with '%' (255 will display as "?%")

    • hexformat=

      • 0=not hex (display as decimal)

      • 1=display as unformated hex

      • 2=display as 0 padded hex

      • 3=prefix with "0x" and zero pad hex

    • addrcount=

      • 1 8 Bit Value

      • 2 16 Bit Value

  • <updatemode> - Changes some aspect of the update.

    • Font= - Sets font size

    • Mode= - Control how the change interacts with the previous display.

      • 0 - None, only move cursor

      • 1 - Overwrite old screen with new

      • 2 - OR old screen with new

      • 3 - Invert (XOR) old screen with new

      • 4 - Erase old screen by new screen (XNOR)

parameters - DTC602 and DDP601 only
  • <beep> - Sounds the beeper, does not affect display.

  • <buttonconfig> - Enable/Disable Task access to buttons.

    • taskaccessflag= - on or off

  • <chareaname> - Display Channel Area Name for the supplied physical channel index.

    • phchind= - Physical Channel Index

  • <chchannelname> - Display Channel Channel Name for the supplied physical channel index.

    • phchind= - Physical Channel Index

  • <chpresetname> - Display Channel Preset Name for the supplied physical channel index.

    • phchind= - Physical Channel Index

  • <chpresetnumber> - Display Channel Preset Number for the supplied physical channel index.

    • phchind= - Physical Channel Index

  • <terminate> - Terminate Task Terminal and exit into menu.

Examples

Excerpt from 3 speed fan control. Overwrites the existing fan speed text with the words "FAN HIGH".

Task1()
{
Highcheck:
    Preset(A=0, P=1)
    LDA #1
    STA ~20
    Send4("<updatemode mode =1><udpate mode Font=2><cursorxy x=15 y=2>FAN HIGH")
}