rusEFI
The most advanced open source ECU
serial.h
Go to the documentation of this file.
1 /**
2  * @file serial.h
3  *
4  * @date Mar 19, 2020
5  * @author Konstantin Smola, (c) 2020
6  */
7 
8 #pragma once
9 
10 #include "hal.h"
11 
13 
14 #define TIME_100MSEC ((sysinterval_t)chTimeMS2I(100))
15 
16 #define SERBUFFLEN 64
17 
18 constexpr uint8_t lc2_header_mask = 162;
19 constexpr uint16_t lc2_pcklen_mask = 383;
20 
22 
23 extern uint8_t ser_buffer[SERBUFFLEN]; //buffer for incoming serial data
24 extern size_t innovate_msg_len;
26 extern uint8_t sb;
27 extern bool clear_ser_buffer;
28 
29 class SerialRead final : public ThreadController<256> {
30 public:
31  SerialRead();
32  void ThreadTask();
33 
34  uint16_t len;
35 };
void ThreadTask()
Definition: serial_rx.cpp:29
uint16_t len
Definition: serial.h:34
A base class for a controller that requires its own thread.
size_t innovate_msg_len
Definition: serial_rx.cpp:20
innovate_serial_id_state_t
Definition: serial.h:21
@ UNKNOWN
Definition: serial.h:21
@ HEADER_FOUND
Definition: serial.h:21
@ IDENTIFIED
Definition: serial.h:21
uint8_t sb
Definition: serial_rx.cpp:22
constexpr uint8_t lc2_header_mask
Definition: serial.h:18
bool clear_ser_buffer
Definition: serial_rx.cpp:23
innovate_serial_id_state_t innovate_serial_id_state
Definition: serial_rx.cpp:21
uint8_t ser_buffer[SERBUFFLEN]
Definition: serial_rx.cpp:19
constexpr uint16_t lc2_pcklen_mask
Definition: serial.h:19