S5info_H14 / Mbed 2 deprecated APP2

Dependencies:   mbed-rtos mbed

main.cpp

Committer:
RufflesAllD
Date:
2014-01-27
Revision:
1:96a4c2a39981
Parent:
0:f7d5819b29d5
Child:
2:6009cb96f273

File content as of revision 1:96a4c2a39981:

#include "mbed.h"
#include "rtos.h"
#include <ctime>

DigitalIn en_1(p15);
DigitalIn en_2(p16);

AnalogIn ea_1(p19);
AnalogIn ea_2(p20);

Serial pc(USBTX, USBRX);

void showTime(char *buffer)
{
    std::time_t time = std::time(0);
    
    strftime(buffer, 32, "%Y-%m-%d %H:%M:%S\n\r", localtime(&time));
}

void lecture_analog(void const *args)
{
    while (true)
    {
        // synchronisation sur la période d'échantillonnage
        // lecture de l'étampe temporelle
        // lecture des échantillons analogiques
        // calcul de la nouvelle moyenne courante
        // génération éventuelle d'un événement
    }
}

void lecture_digital1(void const *thread)
{
    (Thread)
}

void lecture_num(void const *args)
{
    while (true)
    {
        Thread::signal_wait(0x1);
        pc.prinft("HAHAHAHAHAHAHA");
        // synchronisation sur la période d'échantillonnage
        // lecture de l'étampe temporelle
        // lecture des échantillons numériques
        // prise en charge du phénomène de rebond
        // génération éventuelle d'un événement
    }
}

void collection(void const *args)
{
    char *time = new char;
    
    while (true)
    {
        showTime(time);
        pc.printf("time: %s",  time);
        wait(2);
        // attente et lecture d'un événement
        // écriture de l'événement en sortie (port série)
    }
}

int main()
{
    // initialisation du RTC
    set_time(1390820561); //2014-01-27 11:02:41
    
    // démarrage des tâches
    Thread thread1(lecture_num);
    RtosTimer lect_num(lecture_digital1, osTimerPeriodic, (void*)thread1);
    lect_num.start(100);
    //Thread thread2(lecture_analog);
    //Thread thread3(collection);
    
    while(true) {}
}