#include <stdio.h>
#include <signal.h>

#include "serial_t.h"
#include "time_utils.hpp"

static int  RunFalg = false;

void sighandler(int signum)
{
    RunFalg = false;
}

int main(int argc, char **argv)
{
    serial_t      *serial=NULL;
    const char    *path = "/dev/ttyUART_TTL_1:115200:8:N:1:"; 
    const int     mode = SERIAL_MODE_RW;
    char          msg[4096]={0};
    int           nr=0;
    unsigned char buff[4096] = {0};
    
    double      sec = timeget_syssec();
    char        fileName[256] = { 0 };
    FILE        *fp = NULL;
    sprintf(fileName, "%.0lf.bin", sec);
    printf("%s\n", fileName);
    
    fp = fopen(fileName, "wb");
    if (fp == NULL)
        return 0;

    serial = openserial(path, mode, msg);
    if(serial == NULL)
    {
        printf("open serial error, %s\n", path);
        return -1;
    }
    
    RunFalg = true;
    while(RunFalg)
    {
        memset(msg, 0, sizeof(msg));
        nr=readserial(serial, buff, 4096, msg);
        if(nr <= 0)
            continue;
        
        fwrite(buff, sizeof(unsigned char), nr, fp);
        fflush(fp);
        
        printf("nr = %d\n", nr);
    }

    closeserial(serial);
    if (fp != NULL) { fclose(fp); fp = NULL; }
    printf("Normal End !!\n");

    return 0;
}