This repository has been archived by the owner on Mar 16, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTerminal.h
58 lines (47 loc) · 1.55 KB
/
Terminal.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* CommandLine.h
*
* Created on: 10.02.2013
* Author: skuser
*/
#ifndef TERMINAL_H_
#define TERMINAL_H_
#include "../Common.h"
#include "../LUFA/Drivers/USB/USB.h"
#include "XModem.h"
#include "CommandLine.h"
#define TERMINAL_VBUS_PORT PORTD
#define TERMINAL_VBUS_MASK PIN5_bm
#define TERMINAL_BUFFER_SIZE 512
typedef enum {
TERMINAL_UNINITIALIZED,
TERMINAL_INITIALIZING,
TERMINAL_INITIALIZED,
TERMINAL_UNITIALIZING
} TerminalStateEnum;
extern uint8_t TerminalBuffer[TERMINAL_BUFFER_SIZE];
extern USB_ClassInfo_CDC_Device_t TerminalHandle;
extern TerminalStateEnum TerminalState;
extern uint16_t TerminalBufferIdx;
void TerminalInit(void);
void TerminalTask(void);
void TerminalTick(void);
/*void TerminalSendHex(void* Buffer, uint16_t ByteCount);*/
INLINE void TerminalSendByte(uint8_t Byte);
void TerminalSendBlock(const void* Buffer, uint16_t ByteCount);
INLINE void TerminalFlushBuffer(void);
INLINE void TerminalSendChar(char c);
void TerminalSendString(const char* s);
void TerminalSendStringP(const char* s);
void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_ControlRequest(void);
INLINE void TerminalSendChar(char c) { CDC_Device_SendByte(&TerminalHandle, c); }
INLINE void TerminalSendByte(uint8_t Byte) { CDC_Device_SendByte(&TerminalHandle, Byte); }
INLINE void TerminalFlushBuffer(void) {
CDC_Device_Flush(&TerminalHandle);
TerminalBufferIdx = 0;
TerminalBuffer[TerminalBufferIdx] = '\0';
}
#endif /* TERMINAL_H_ */