AndrewFromMelbourne / LcdColumnGraph

Arduino library for using custom characters in the LiquidCrystal library to create column graphs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The LcdColumnGraph library is a templated class that uses the LiquidCrystal
library (or similar) and the user defineable characters (via createChar) to
provide a column graph that extends across a number of rows and can display
eight different levels per row. For example in a two row LCD display the
graph can display 16 different levels (not including zero). While the code
is reasonably general, it does assume a 5x8 pixel LCD character.

To use the code you need to create an LcdColumnGraph object, using the
specific class that implements the calls to the LCD. For example to use the
class with the standard LiquidCrystal class you create the object like this.

    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    LcdColumnGraph<LiquidCrystal> lcdColumnGraph(lcd, 0, 10, 0);

The advantage of using a template is that you can use any LiquidCrystal
library with this class. For example LiquidCrystal_I2C.

The constructor take the following parameters:-

    LiquidCrystal_T& lcd

        An object of the class you are using to drive the LCD.

    int32_t min

        The minimum value to be graphed

    int32_t max

        The maximum value to be graphed

    uint8_t column

        The display column where the graph will be drawn

    uint8_t firstRow 
    
        The first row of the graph (default is 0)

    uint8_t lastRow

        The last row of the graph (default is 1)

The methods are as follows:

    void value(int32_t value);

        Set the graph to 'value', scaled between min and max.

    void unscaled(uint8_t value);

        The unscaled method allows you to to set the graph to a specific
        level without using a scale between min and max. For example if the
        graph is over two rows the graph can have an unscaled value between
        0 and 16.

    uint8_t getColumn() const;

        Returns the column number where the graph will be displayed

    void setColumn(uint8_t column);

        Set the column number where the graph will be displayed

    int32_t getMin() const;

        Get the minimum value that the graph is mapped to.

    int32_t getMax() const;

        Get the maximum value that the graph is mapped to.

    void setMinMax(int32_t min, int32_t max);

        Set the minimum and maximum values that the graph is mapped to.

About

Arduino library for using custom characters in the LiquidCrystal library to create column graphs

License:MIT License


Languages

Language:C 66.9%Language:Arduino 33.1%