Clubcos
0.0.0
Clubcos - Clubc Operating System
|
#include <stdarg.h>
#include "terminal.h"
#include "coshell.h"
#include "keys.h"
#include "port.h"
#include "string.h"
#include "array.h"
#include "binary_semaphore.h"
#include "circular_queue.h"
#include "memory_map.h"
#include "task.h"
매크로 | |
#define | s_TermBuffer (((const ProcessData * restrict)g_pTaskStruct->pProcData)->TermBuffer) |
함수 | |
void | ckTerminalInitialize (void) |
터미널을 초기화합니다. 더 자세히 ... | |
void | ckTerminalSetColor (uint8_t color) |
터미널의 색을 설정합니다. 더 자세히 ... | |
void | ckTerminalSetStatus (TermStatus stat) |
터미널의 상태를 설정합니다. 더 자세히 ... | |
void | ckTerminalPutEntryAt (char c, uint8_t color, uint16_t x, uint16_t y) |
특정 위치에 지정한 색 코드로 문자를 출력합니다. 더 자세히 ... | |
void | ckTerminalPutCharEntryAt (char c, uint16_t x, uint16_t y) |
특정 위치에 문자를 출력합니다. 더 자세히 ... | |
bool | ckTerminalPutChar (char c) |
터미널에 문자를 출력합니다. 더 자세히 ... | |
void | ckTerminalDelete (void) |
커서가 가리키고 있는 입력 문자를 삭제합니다. 더 자세히 ... | |
void | ckTerminalBackspace (void) |
커서 바로 뒤의 입력 문자를 삭제합니다. 더 자세히 ... | |
void | ckTerminalOnInput (uint8_t cascii) |
사용자의 입력을 터미널로 전송합니다. 더 자세히 ... | |
void | ckTerminalClearLineBuffer (void) |
사용자가 현재 입력한 내용을 비웁니다. 더 자세히 ... | |
void | ckTerminalWriteStringAt (uint16_t x, uint16_t y, uint8_t color, const char *str) |
특정 위치에 문자열을 출력합니다. 더 자세히 ... | |
void | ckTerminalWriteStringAtF (uint16_t x, uint16_t y, uint8_t color, const char *format,...) |
특정 위치에 서식 문자열을 조립해 출력합니다. 더 자세히 ... | |
void | ckTerminalPrintStatusBar (const char *str) |
상태 바에 문자열을 출력합니다. 더 자세히 ... | |
void | ckTerminalPrintStatusBar_unsafe (const char *str) |
동기화 없이 상태 바에 문자열을 출력합니다. 더 자세히 ... | |
void | ckTerminalPrintStatusBarF (const char *format,...) |
상태 바에 서식 문자열을 조립해 출력합니다. 더 자세히 ... | |
void | ckTerminalClearStatusBar (void) |
상태 바를 비웁니다. 더 자세히 ... | |
void | ckTerminalPanic (const char *str) |
panic 메시지를 출력하고 시스템을 panic 상태로 만듭니다. 더 자세히 ... | |
void | ckTerminalCls (void) |
화면을 지웁니다. 더 자세히 ... | |
void | ckTerminalSetCursorWidth (uint8_t BeginHeight, uint8_t EndHeight) |
커서의 모양을 설정합니다. 더 자세히 ... | |
void | ckTerminalSetCursorType (TerminalCursorType cur) |
커서의 모양을 지정된 타입으로 설정합니다. 더 자세히 ... | |
uint16_t | ckTerminalWhereX (void) |
커서의 현재 위치의 x 좌표를 구합니다. 더 자세히 ... | |
uint16_t | ckTerminalWhereY (void) |
커서의 현재 위치의 y 좌표를 구합니다. 더 자세히 ... | |
void | ckTerminalGotoXY (uint16_t x, uint16_t y) |
커서를 이동합니다. 더 자세히 ... | |
void | ckTerminalPrintString_unsafe (const char *str) |
동기화 없이 문자열을 출력합니다. 더 자세히 ... | |
void | ckTerminalPrintString (const char *str) |
문자열을 출력합니다. 더 자세히 ... | |
void | ckTerminalPrintStringF (const char *format,...) |
서식 문자열을 조립해 출력합니다. 더 자세히 ... | |
size_t | ckTerminalGetLine (char *buf, size_t size) |
입력 문자 버퍼에서 한 행을 꺼냅니다. 더 자세히 ... | |
char | ckTerminalGetChar (void) |
입력 문자 버퍼에서 한 문자를 꺼냅니다. 더 자세히 ... | |
uint8_t | ckTerminalGetch (void) |
입력 키 버퍼에서 cascii 문자 하나를 꺼냅니다. 더 자세히 ... | |
void | ckTerminalClearInputBuffer (void) |
입력 문자 버퍼를 지웁니다. 더 자세히 ... | |
void | ckTerminalClearHitKeyBuffer (void) |
입력 키 버퍼를 지웁니다. 더 자세히 ... | |
bool | ckTerminalIsHitKeyBufferFull (void) |
입력 키 버퍼에 키가 있는지의 여부를 검사합니다. 더 자세히 ... | |
void | ckTerminalClearAllBuffers (void) |
사용자의 입력 내용, 입력 문자 버퍼, 입력 키 버퍼를 모두 비웁니다. 더 자세히 ... | |
#define s_TermBuffer (((const ProcessData * restrict)g_pTaskStruct->pProcData)->TermBuffer) |
void ckTerminalBackspace | ( | void | ) |
커서 바로 뒤의 입력 문자를 삭제합니다.
키보드의 [BackSpace] 키를 누른 효과가 납니다.
void ckTerminalClearAllBuffers | ( | void | ) |
사용자의 입력 내용, 입력 문자 버퍼, 입력 키 버퍼를 모두 비웁니다.
void ckTerminalClearHitKeyBuffer | ( | void | ) |
입력 키 버퍼를 지웁니다.
void ckTerminalClearInputBuffer | ( | void | ) |
입력 문자 버퍼를 지웁니다.
void ckTerminalClearLineBuffer | ( | void | ) |
사용자가 현재 입력한 내용을 비웁니다.
void ckTerminalClearStatusBar | ( | void | ) |
상태 바를 비웁니다.
void ckTerminalCls | ( | void | ) |
화면을 지웁니다.
void ckTerminalDelete | ( | void | ) |
커서가 가리키고 있는 입력 문자를 삭제합니다.
키보드의 [del] 키를 누른 효과가 납니다.
uint8_t ckTerminalGetch | ( | void | ) |
입력 키 버퍼에서 cascii 문자 하나를 꺼냅니다.
char ckTerminalGetChar | ( | void | ) |
입력 문자 버퍼에서 한 문자를 꺼냅니다.
표준 C의 getchar()
함수와 같은 역할을 합니다.
size_t ckTerminalGetLine | ( | char * | buf, |
size_t | size | ||
) |
입력 문자 버퍼에서 한 행을 꺼냅니다.
표준 C의 gets()
함수와 같은 역할을 합니다.
[out] | buf | 입력한 문자열입니다. |
[in] | size | 버퍼의 크기입니다. |
void ckTerminalGotoXY | ( | uint16_t | x, |
uint16_t | y | ||
) |
커서를 이동합니다.
[in] | x | 커서가 이동될 위치의 x 좌표입니다. |
[in] | y | 커서가 이동될 위치의 y 좌표입니다. |
void ckTerminalInitialize | ( | void | ) |
터미널을 초기화합니다.
bool ckTerminalIsHitKeyBufferFull | ( | void | ) |
입력 키 버퍼에 키가 있는지의 여부를 검사합니다.
kbhit()
함수와 같은 역할을 합니다.
true
고, 그렇지 않으면 false
입니다. void ckTerminalOnInput | ( | uint8_t | cascii | ) |
사용자의 입력을 터미널로 전송합니다.
[in] | cascii | 사용자가 입력한 키의 cascii 코드입니다. |
void ckTerminalPanic | ( | const char * | str | ) |
void ckTerminalPrintStatusBar | ( | const char * | str | ) |
상태 바에 문자열을 출력합니다.
[in] | str | 상태 바에 출력할 문자열입니다. TERMINAL_WIDTH 보다 길이가 클 경우 짤라서 출력됩니다. |
void ckTerminalPrintStatusBar_unsafe | ( | const char * | str | ) |
동기화 없이 상태 바에 문자열을 출력합니다.
[in] | str | 상태 바에 출력할 문자열입니다. TERMINAL_WIDTH 보다 길이가 클 경우 짤라서 출력됩니다. |
void ckTerminalPrintStatusBarF | ( | const char * | format, |
... | |||
) |
상태 바에 서식 문자열을 조립해 출력합니다.
[in] | format | 상태 바에 출력할 서식 문자열입니다. TERMINAL_WIDTH 보다 길이가 클 경우 짤라서 출력됩니다. |
void ckTerminalPrintString | ( | const char * | str | ) |
void ckTerminalPrintString_unsafe | ( | const char * | str | ) |
동기화 없이 문자열을 출력합니다.
[in] | str | 출력할 문자열입니다. |
void ckTerminalPrintStringF | ( | const char * | format, |
... | |||
) |
서식 문자열을 조립해 출력합니다.
[in] | format | 출력할 서식 문자열입니다. |
bool ckTerminalPutChar | ( | char | c | ) |
터미널에 문자를 출력합니다.
[in] | c | 출력할 문자입니다. |
void ckTerminalPutCharEntryAt | ( | char | c, |
uint16_t | x, | ||
uint16_t | y | ||
) |
특정 위치에 문자를 출력합니다.
[in] | c | 출력할 문자입니다. |
[in] | x | 출력할 위치의 x 좌표입니다. |
[in] | y | 출력할 위치의 y 좌표입니다. |
void ckTerminalPutEntryAt | ( | char | c, |
uint8_t | color, | ||
uint16_t | x, | ||
uint16_t | y | ||
) |
특정 위치에 지정한 색 코드로 문자를 출력합니다.
[in] | c | 출력할 문자입니다. |
[in] | color | 출력할 문자의 색 코드입니다. |
[in] | x | 출력할 위치의 x 좌표입니다. |
[in] | y | 출력할 위치의 y 좌표입니다. |
void ckTerminalSetColor | ( | uint8_t | color | ) |
터미널의 색을 설정합니다.
[in] | color | 터미널의 색 코드입니다. |
void ckTerminalSetCursorType | ( | TerminalCursorType | cur | ) |
커서의 모양을 지정된 타입으로 설정합니다.
[in] | cur | 커서의 모양 타입입니다. |
void ckTerminalSetCursorWidth | ( | uint8_t | BeginHeight, |
uint8_t | EndHeight | ||
) |
커서의 모양을 설정합니다.
[in] | BeginHeight | 커서의 시작 높이입니다. 0 ~ 0x1f 사이의 값입니다. |
[in] | EndHeight | 커서의 끝 높이입니다. 0 ~ 0x1f 사이의 값입니다. |
void ckTerminalSetStatus | ( | TermStatus | stat | ) |
터미널의 상태를 설정합니다.
[in] | stat | 터미널의 상태입니다. |
uint16_t ckTerminalWhereX | ( | void | ) |
커서의 현재 위치의 x 좌표를 구합니다.
uint16_t ckTerminalWhereY | ( | void | ) |
커서의 현재 위치의 y 좌표를 구합니다.
void ckTerminalWriteStringAt | ( | uint16_t | x, |
uint16_t | y, | ||
uint8_t | color, | ||
const char * | str | ||
) |
특정 위치에 문자열을 출력합니다.
[in] | x | 출력할 위치의 x 좌표입니다. |
[in] | y | 출력할 위치의 y 좌표입니다. |
[in] | color | 출력할 문자열의 색 코드입니다. |
[in] | str | 출력할 문자열입니다. |
void ckTerminalWriteStringAtF | ( | uint16_t | x, |
uint16_t | y, | ||
uint8_t | color, | ||
const char * | format, | ||
... | |||
) |
특정 위치에 서식 문자열을 조립해 출력합니다.
[in] | x | 출력할 위치의 x 좌표입니다. |
[in] | y | 출력할 위치의 y 좌표입니다. |
[in] | color | 출력할 문자열의 색 코드입니다. |
[in] | format | 출력할 서식 문자열입니다. |