#include "log.h"
/*

w+以纯文本方式读写，而wb+是以二进制方式进行读写。

mode说明：

w 打开只写文件，若文件存在则文件长度清为0，即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件，若文件存在则文件长度清为零，即该文件内容会消失。若文件不存在则建立该文件。

wb 只写方式打开或新建一个二进制文件，只允许写数据。

wb+ 读写方式打开或建立一个二进制文件，允许读和写。

r 打开只读文件，该文件必须存在，否则报错。

r+ 打开可读写的文件，该文件必须存在，否则报错。

rb+ 读写方式打开一个二进制文件，只允许读写数据。

a 以附加的方式打开只写文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾，即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾后，即文件原先的内容会被保留。 (原来的EOF符不保留)

ab+ 读写打开一个二进制文件，允许读或在文件末追加数据。

加入b 字符用来告诉函数库打开的文件为二进制文件，而非纯文字文件。
*/

// SoftwareSerial wb485Serial(wb485PORT_RX,wb485PORT_TX,false);
// void log_init()
// {
    
// }

#ifdef ARDUINO_USB_CDC_ON_BOOT
    #define U0_Serial Serial
#else
  SoftwareSerial U0_Serial(19,20,false);
#endif




void log_init()
{
    U0_Serial.begin(115200);
}

void write_log(String path,String write_data,unsigned char level)
{
    if(level   <15) {
        U0_Serial.println(write_data);
    }
    if (level  == 20)
    {
        U0_Serial.println(write_data);
        
        File file;
        file = SD_MMC.open(path,"ab+");
        file.println(write_data);
        file.flush();
        file.close();
    }
}

void write_log(uint8_t *data,uint32_t size)
{
    U0_Serial.write(data,size);
}

void save_data(String path,String write_data)
{
    File file;
    file = SD_MMC.open(path,"w+");
    file.println(write_data);
    file.flush();
    file.close();
}

