send time via uart
This commit is contained in:
parent
cab44588c7
commit
4a573bc638
@ -16,6 +16,7 @@
|
|||||||
#include "irqhandler.h"
|
#include "irqhandler.h"
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
#include "spislave.h"
|
#include "spislave.h"
|
||||||
|
#include "uart.h"
|
||||||
#if(HAS_LORA)
|
#if(HAS_LORA)
|
||||||
#include "lorawan.h"
|
#include "lorawan.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -444,6 +444,8 @@ void setup() {
|
|||||||
// show compiled features
|
// show compiled features
|
||||||
ESP_LOGI(TAG, "Features:%s", features);
|
ESP_LOGI(TAG, "Features:%s", features);
|
||||||
|
|
||||||
|
uart_setup();
|
||||||
|
|
||||||
} // setup()
|
} // setup()
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
24
src/uart.cpp
24
src/uart.cpp
@ -1,13 +1,30 @@
|
|||||||
|
#include "rtctime.h"
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
#include <lmic/oslmic.h>
|
#include <lmic/oslmic.h>
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
#include "uart.h"
|
||||||
#include "driver/uart.h"
|
#include "driver/uart.h"
|
||||||
|
|
||||||
static const char TAG[] = __FILE__;
|
static const char TAG[] = __FILE__;
|
||||||
TaskHandle_t UartTask = NULL;
|
TaskHandle_t UartTask = NULL;
|
||||||
|
|
||||||
|
void uart_setup() {
|
||||||
|
// setup UART connection
|
||||||
|
uart_config_t uart_config = {
|
||||||
|
.baud_rate = 9600,
|
||||||
|
.data_bits = UART_DATA_7_BITS,
|
||||||
|
.parity = UART_PARITY_EVEN,
|
||||||
|
.stop_bits = UART_STOP_BITS_1,
|
||||||
|
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE
|
||||||
|
};
|
||||||
|
uart_param_config(UART_NUM_1, &uart_config);
|
||||||
|
uart_set_pin(UART_NUM_1, CLOCK_DCF_TXD, CLOCK_DCF_RXD, CLOCK_DCF_RTS, CLOCK_DCF_CTS);
|
||||||
|
uart_driver_install(UART_NUM_1, CLOCK_BUF_SIZE * 2, 0, 0, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void time_uart_send(void * pvParameters) {
|
void time_uart_send(void * pvParameters) {
|
||||||
struct timeval curTime;
|
struct timeval curTime;
|
||||||
|
|
||||||
@ -16,7 +33,12 @@ void time_uart_send(void * pvParameters) {
|
|||||||
TickType_t xLastWakeTime = xTaskGetTickCount();
|
TickType_t xLastWakeTime = xTaskGetTickCount();
|
||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
time_t nowTime = now();
|
struct timeval tv;
|
||||||
|
struct timezone tz;
|
||||||
|
if(gettimeofday(&tv, &tz) != 0) {
|
||||||
|
ESP_LOGI(TAG, "ERROR gettimeofday");
|
||||||
|
}
|
||||||
|
time_t nowTime = tv.tv_sec;
|
||||||
strftime(timestamp, sizeof(timestamp), format, localtime(&nowTime));
|
strftime(timestamp, sizeof(timestamp), format, localtime(&nowTime));
|
||||||
ESP_LOGI(TAG, "Current Time: %s", timestamp);
|
ESP_LOGI(TAG, "Current Time: %s", timestamp);
|
||||||
|
|
||||||
|
13
src/uart.h
13
src/uart.h
@ -1,2 +1,15 @@
|
|||||||
|
#ifndef UART_H
|
||||||
|
#define UART_H
|
||||||
|
|
||||||
|
// UART for Clock DCF
|
||||||
|
#define CLOCK_DCF_TXD (GPIO_NUM_4)
|
||||||
|
#define CLOCK_DCF_RXD (GPIO_NUM_15)
|
||||||
|
#define CLOCK_DCF_RTS (UART_PIN_NO_CHANGE)
|
||||||
|
#define CLOCK_DCF_CTS (UART_PIN_NO_CHANGE)
|
||||||
|
#define CLOCK_BUF_SIZE (1024)
|
||||||
|
|
||||||
void time_uart_send(void * pvParameters);
|
void time_uart_send(void * pvParameters);
|
||||||
void time_uart_send_start();
|
void time_uart_send_start();
|
||||||
|
void uart_setup();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user