| .. _cfb_shell_sample: | 
 |  | 
 | Character Framebuffer Shell Module Sample | 
 | ######################################### | 
 |  | 
 | Overview | 
 | ******** | 
 | This is a simple shell module that exercises displays using the Character | 
 | Framebuffer subsystem. | 
 |  | 
 | Building and Running | 
 | ******************** | 
 |  | 
 | Build the sample app by choosing the target board, for example: | 
 |  | 
 | .. zephyr-app-commands:: | 
 |    :zephyr-app: samples/display/cfb_shell | 
 |    :board: reel_board | 
 |    :goals: build | 
 |  | 
 |  | 
 | Shell Module Command Help | 
 | ========================= | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          cfb - Character Framebuffer shell commands | 
 |          Options: | 
 |                  -h, --help  :Show command help. | 
 |          Subcommands: | 
 |                  init        :[none] | 
 |                  get_device  :[none] | 
 |                  get_param   :<all, height, width, ppt, rows, cols> | 
 |                  get_fonts   :[none] | 
 |                  set_font    :<idx> | 
 |                  invert      :[none] | 
 |                  print       :<col: pos> <row: pos> <text> | 
 |                  scroll      :<dir: (vertical|horizontal)> <col: pos> <row: pos> | 
 |                               <text> | 
 |                  clear       :[none] | 
 |  | 
 | **init**: should be called first to initialize the display. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb init | 
 |          Framebuffer initialized: SSD16XX | 
 |          Display Cleared | 
 |  | 
 | **get_device**: prints the display device name. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb get_device | 
 |          Framebuffer Device: SSD16XX | 
 |  | 
 | **get_param**: get the display parameters where height, width and ppt | 
 | (pixel per tile) are in pixels and the number of rows and columns. The row | 
 | position is incremented by a multiple of the ppt. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb get_param all | 
 |          param: height=120 | 
 |          param: width=250 | 
 |          param: ppt=8 | 
 |          param: rows=15 | 
 |          param: cols=250 | 
 |  | 
 | **get_fonts**: print the index, height and width in pixels of the static | 
 | defined fonts presented in the system. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb get_fonts | 
 |          idx=0 height=32 width=20 | 
 |          idx=1 height=24 width=15 | 
 |          idx=2 height=16 width=10 | 
 |  | 
 | **set_font**: choose the font to be used by passing the font index. Only one | 
 | font can be used at a time. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb set_font 0 | 
 |          Font idx=0 height=32 widht=20 set | 
 |  | 
 | **invert**: invert the pixel color of the display. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb invert | 
 |          Framebuffer Inverted | 
 |  | 
 | **print**: pass the initial column and row positions and the text in | 
 | double quotation marks when it contains spaces. If text hits the edge | 
 | of the display the remaining characters will be displayed on the next line. The | 
 | previous printed text will be overwritten. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb print 60 5 ZEPHYR | 
 |  | 
 | **scroll**: pass the scroll direction, vertical or horizontal, the initial | 
 | column and row positions, and the text to be displayed in double quotation | 
 | marks when it contains spaces. If the text hits the edge of the display, the | 
 | remaining characters will be displayed in the next line. The text will scroll | 
 | until it hits the display boundary, last column for horizontal and last row | 
 | for vertical direction. The text passed with the scroll command will be moved | 
 | vertically or horizontally on the display. | 
 |  | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb scroll vertical 60 5 ZEPHYR | 
 |  | 
 | **clear**: clear the display screen. | 
 |  | 
 | Command example (reel_board): | 
 |  | 
 | .. code-block:: console | 
 |  | 
 |          uart:~$ cfb clear | 
 |          Display Cleared |