2018 revision to classic DataBus AVC code.

Dependencies:   LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell

Display/Display.cpp

Committer:
shimniok
Date:
2019-01-02
Revision:
40:d3cebffe1e44
Parent:
38:6fec81f85221
Child:
41:f07bf1039ba3

File content as of revision 40:d3cebffe1e44:

#include "Display.h"
#include <string.h>

#define LCDWIDTH 21

Display::Display(PinName tx, PinName rx)
{
    lcd = new SerialGraphicLCD(tx, rx);
    lcd->clear();
}


void Display::gps(GpsData d)
{
    lcd->pos(0,6);
    lcd->printf("lat: %12.7f ", d.latitude);
    lcd->pos(0,5);
    lcd->printf("lon: %12.7f ", d.longitude);
    lcd->pos(0,4);
    lcd->printf("sv:%2d hd:%2.0f sp:%4.1f ", d.svcount, d.course, d.speed);
}

void Display::imu(SensorData d) 
{
}

void Display::status(char *s) 
{
    char line[LCDWIDTH+1];
    int i;
    int len = strlen(s);

    for (i = 0; i < LCDWIDTH; i++) {
        if (i < len) {
            line[i] = s[i];
        } else {
            line[i] = ' ';
        }
    }
    line[LCDWIDTH] = 0;
    
    lcd->pos(0,7);
    // TODO: limit string length
    lcd->printf(line);
}