Simple test program to get familiar with functionality of MBED RTOS on ST Nucleo-F411RE. Tasks for LED blinking, user button, temperature measurement with DS1620, temperature measurement with internal temperature sensor of ST32F411RE, ultrasonic distance measurement and displaying result on 16x2 TextLCD.

Dependencies:   DS1620_improved TextLCD_improved mbed-rtos mbed

tsk_display.cpp

Committer:
dzoni
Date:
2015-12-14
Revision:
13:f62b10a6e1c5
Parent:
12:1de8b271e292
Child:
15:a627638edd9c

File content as of revision 13:f62b10a6e1c5:

#include "mbed.h"
#include "rtos.h"

#include "TextLCD.h"

#include "tsk_display.h"
#include "tsk_temp.h"
#include "tsk_dist.h"
#include "tsk_main.h"

static TextLCD *lcd = NULL;

uint32_t initDisplay(void const *args) {

    lcd = new TextLCD(PA_8, PA_7, PA_9, PA_1, PB_5, PA_10, TextLCD::LCD16x2);

    lcd->cls();
    lcd->printf("Row 1");
    lcd->locate(0, 1);    
    lcd->printf("Row 2");
       
    return 1;
}

uint32_t disposeDisplay(void const *args) {

    delete lcd;
    lcd = NULL;
       
    return 1;
}


void disp_thread(void const *args) {

    while (true) {
        lcd->cls();
        lcd->printf("Raw:%3u % 5.0f mm", temp_data.temp_raw, dist_data.distance);
        uiCnt += 2;
        lcd->locate(0, 1);    
        lcd->printf("Float: %3.2f%cC", temp_data.temperature, 0xdf);

        Thread::wait(2000);
    }
}