Display driver for the Vives city game

Dependencies:   TextLCD

CostumCharacters.cpp

Committer:
atomicLogic
Date:
2017-04-25
Revision:
0:80ce68cdf568
Child:
5:06eccc902247

File content as of revision 0:80ce68cdf568:

#include "CostumCharacters.h"
#include "TextLCD.h"
#include <string>

namespace VivesCityGame
{
    
CostumCharacters::CostumCharacters( TextLCD * lcd )
{
    this->lcd = lcd;
    /*
    
    const char batteryIcon[][8] =   {
                                        {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F},
                                        {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F},
                                        {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x1F, 0x1F, 0x1F},
                                        {0x0E, 0x1F, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F},
                                        {0x0E, 0x1F, 0x11, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F},
                                        {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}
                                    };

    const char gpsIcon[][8] =         {
                                    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F},
                                    {0x00, 0x0E, 0x1B, 0x11, 0x1B, 0x0E, 0x0E, 0x04}
                                };

    const char loraIcon[][8] =        {
                                    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}
                                };

    const char loraStatusIcon[][8] =  {
                                    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}
                                };
    */
}

void CostumCharacters::setBatteryIcon( int lvl )
{
    switch( lvl ) {
      case 0:
            char batteryIcon0[] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F};
            lcd->defineChar( 1, batteryIcon0 );
        break;
      case 1:
            char batteryIcon1[8] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F};
            lcd->defineChar( 1, batteryIcon1 );
        break;
      case 2:
            char batteryIcon2[8] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x1F, 0x1F, 0x1F};
            lcd->defineChar( 1, batteryIcon2 );
        break;
      case 3:
            char batteryIcon3[8] = {0x0E, 0x1F, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F};
            lcd->defineChar( 1, batteryIcon3 );
        break;
      case 4:
            char batteryIcon4[8] = {0x0E, 0x1F, 0x11, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
            lcd->defineChar( 1, batteryIcon4 );
        break;
      case 5:
            char batteryIcon5[8] = {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};
            lcd->defineChar( 1, batteryIcon5 );
        break;
    }
}

void CostumCharacters::setGpsIcon( bool gpsFix )
{
    switch( gpsFix ) {
      case 0:
            char gpsIcon0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
            lcd->defineChar( 2, gpsIcon0 );
        break;
      case 1:
            char gpsIcon1[8] = {0x00, 0x0E, 0x1B, 0x11, 0x1B, 0x0E, 0x0E, 0x04};
            lcd->defineChar( 2, gpsIcon1 );
        break;
    }
}

void CostumCharacters::setLoraIcon( bool lora )
{
    switch( lora ) {
      case 0:
            char loraIcon0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
            lcd->defineChar( 3, loraIcon0 );
        break;
      case 1:
            char loraIcon1[8] = {0x00, 0x1F, 0x0E, 0x04, 0x04, 0x04, 0x04, 0x04};
            lcd->defineChar( 3, loraIcon1 );
        break;
    }
    
}

void CostumCharacters::setLoraStatusIcon( int loraStatus )
{
    switch( loraStatus ) {
      case 0:
            char loraStatus0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
            lcd->defineChar( 4, loraStatus0 );
        break;
      case 1:
            char loraStatus1[8] = {0x04, 0x0E, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04};
            lcd->defineChar( 4, loraStatus1 );
        break;
      case 2:
            char loraStatus2[8] = {0x04, 0x04, 0x04, 0x04, 0x04, 0x1F, 0x0E, 0x04};
            lcd->defineChar( 4, loraStatus2 );
        break;
    }
    //lcd->defineChar( 4, loraStatusIcon[loraStatus] );
}


};