# lcd_dsm0822a

dsm0822a - i2c star burst dispay driver

Author | Joep Suijs, Copyright © 2009-2010, all rights reserved.
Adapted-by |
Compiler | >=2.4i

Description

    this library provides a i2c star burst display driver
    The dm0822a is a star burst display driver with an i2c interface.
    To use this library:
    - setup i2c comms to the display
    - include this libraray and call dsm_init()

    Now you can use the display. A char assigned to dsm_data like:
       dsm_data = "A"
    is displayed on the next free location. And with
       dsm_data = ASCII_CR
    you start printing at the first location again.

    The indicator fields of the display can be switched on with
       dsm_set_indicator(DSM_I1)
    and turned off with
       dsm_clear_indicator(DSM_I1)

    The two procedures above support the next constants:
       DSM_1   : channel 1 indication
       DSM_2   : channel 2 indication
       DSM_3   : channel 3 indication
       DSM_4   : channel 4 indication
       DSM_5   : channel 5 indication
       DSM_6   : channel 6 indication
       DSM_I1  : left signal indication
       DSM_I2  : central signal indication
       DSM_I3  : right signal indication
       DSM_RDS : rds indicator
       DSM_TP  : tp indication
       DSM_TA  : ta indication
       DSM_OO  : stereo indication
       DSM_FM  : fm indication
       DSM_DOT : decimal point
    Multiple of these constants can be OR-ed together to one parameter

Sources

    based on C program of Michael Dworkin
    Info on the display at http://hobbyelektronik.org/VB/LCD/DS/index.htm

Dependencies

No dependency found

## Summary

### Global variables/contants

- `const DSM_4 = 0x0800 ; channel 4 indication`
- `const DSM_DOT = 0x0010 ; decimal point`
- `const DSM_TA = 0x0040 ; ta indication`
- `var byte dsm_pos = 0`
- `const DSM_3 = 0x0200 ; channel 3 indication`
- `const DSM_I1 = 0x1000 ; left signal indication`
- `var word dsm_indicator_cache = 0`
- `const DSM_TP = 0x0020 ; tp indication`
- `const DSM_2 = 0x0400 ; channel 2 indication`
- `const DSM_FM = 0x4000 ; fm indication`
- `const DSM_6 = 0x2000 ; channel 6 indication`
- `const byte dsm_tab[] =`
- `const DSM_I3 = 0x0004 ; right signal indication`
- `const DSM_5 = 0x8000 ; channel 5 indication`
- `const DSM_I2 = 0x0001 ; central signal indication`
- `const DSM_RDS = 0x0002 ; rds indicator`
- `const DSM_OO = 0x8000 ; stereo indication`
- `const DSM_1 = 0x0100 ; channel 1 indication`

### Procedures

- `dsm_clear_indicator(word in data)`
- `dsm_init()`
- `dsm_data'put(byte in data)`
- `dsm_set_indicator(word in data)`
- `dsm_out(byte in pos, byte in a)`

Private

- `_dsm_write_cache()`

### Functions

## API details

### Global variables/contants

- `const DSM_4 = 0x0800 ; channel 4 indication`

  No documentation found

- `const DSM_DOT = 0x0010 ; decimal point`

  No documentation found

- `const DSM_TA = 0x0040 ; ta indication`

  No documentation found

- `var byte dsm_pos = 0`

  No documentation found

- `const DSM_3 = 0x0200 ; channel 3 indication`

  No documentation found

- `const DSM_I1 = 0x1000 ; left signal indication`

  No documentation found

- `var word dsm_indicator_cache = 0`

  No documentation found

- `const DSM_TP = 0x0020 ; tp indication`

  No documentation found

- `const DSM_2 = 0x0400 ; channel 2 indication`

  No documentation found

- `const DSM_FM = 0x4000 ; fm indication`

  No documentation found

- `const DSM_6 = 0x2000 ; channel 6 indication`

  No documentation found

- `const byte dsm_tab[] =`

      Translation table of ascci to two bytes, which indicate
      which segment have to be switched on.

- `const DSM_I3 = 0x0004 ; right signal indication`

  No documentation found

- `const DSM_5 = 0x8000 ; channel 5 indication`

  No documentation found

- `const DSM_I2 = 0x0001 ; central signal indication`

  No documentation found

- `const DSM_RDS = 0x0002 ; rds indicator`

  No documentation found

- `const DSM_OO = 0x8000 ; stereo indication`

  No documentation found

- `const DSM_1 = 0x0100 ; channel 1 indication`

  No documentation found

### Procedures

- `dsm_clear_indicator(word in data)`

      dsm_clear_indicator - set one or more indicators

- `dsm_init()`

      init & clear display

- `dsm_data'put(byte in data)`

      dsm_data'put - put a char at the next position

      CR or LF puts postion back to start.

- `dsm_set_indicator(word in data)`

      dsm_set_indicator - set one or more indicators

- `dsm_out(byte in pos, byte in a)`

      dsm_ou - Put a character at the designated position

Private

- `_dsm_write_cache()`

  No documentation found

### Functions

## Related samples

Here are the list of samples which use this library:

16f648a | 16f648a_lcd_dsm0822a.jal
16f723 | 16f723_lcd_dsm0822a.jal
16f73 | 16f73_lcd_dsm0822a.jal
16f877 | 16f877_lcd_dsm0822a.jal
16f877a | 16f877a_lcd_dsm0822a.jal
16f88 | 16f88_lcd_dsm0822a.jal
18f14k50 | 18f14k50_lcd_dsm0822a.jal
18f2450 | 18f2450_lcd_dsm0822a.jal
18f2520 | 18f2520_lcd_dsm0822a.jal
18f2550 | 18f2550_lcd_dsm0822a.jal
18f2620 | 18f2620_lcd_dsm0822a.jal
18f452 | 18f452_lcd_dsm0822a.jal
18f4550 | 18f4550_lcd_dsm0822a.jal
18f4620 | 18f4620_lcd_dsm0822a.jal
18f67j50 | 18f67j50_lcd_dsm0822a.jal