blob: da2c4cead7bb6c8e9714029e24618b0c55891e98 (
plain) (
blame)
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
|
#ifndef __SERIAL_HEADER__
#define __SERIAL_HEADER__
/* *************************************
* Includes
* *************************************/
#include "Global_Inc.h"
#include "System.h"
#include "Gfx.h"
#include "Font.h"
/* *************************************
* Defines
* *************************************/
#define ACK_BYTE_STRING "b"
/* **************************************
* Structs and enums *
* *************************************/
typedef enum
{
SERIAL_STATE_INIT = 0,
SERIAL_STATE_STANDBY,
SERIAL_STATE_WRITING_ACK,
SERIAL_STATE_READING_HEADER,
SERIAL_STATE_READING_EXE_SIZE,
SERIAL_STATE_READING_EXE_DATA,
SERIAL_STATE_WAITING_USER_INPUT,
SERIAL_STATE_CLEANING_MEMORY,
}SERIAL_STATE;
/* *************************************
* Global prototypes
* *************************************/
void SerialInit(void);
bool SerialRead(uint8_t* ptrArray, size_t nBytes);
bool SerialWrite(void* ptrArray, size_t nBytes);
void ISR_Serial(void);
void SerialSetState(SERIAL_STATE state);
void SerialSetPCAddress(uint32_t addr);
void SerialSetRAMDestAddress(uint32_t addr);
void SerialSetExeSize(size_t size);
void SerialSetExeBytesReceived(uint32_t bytes_read);
#endif // __SERIAL_HEADER__
|