-
Notifications
You must be signed in to change notification settings - Fork 1
/
CNCDrill.h
44 lines (33 loc) · 1.02 KB
/
CNCDrill.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
/*
* CNCDrill.h
*
* Created: 07.07.2015 9:44:01
* Author: Admin
*/
#ifndef CNCDRILL_H_
#define CNCDRILL_H_
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include "avrlibtypes.h"
#include "bits_macros.h"
#include "FIFO.h"
#include "HAL.h"
typedef void (*FINISH_CMD)(void);
extern FINISH_CMD XFinish, YFinish, ZFinish;
#define cmdByte(cmd, byte) (*(cmd+byte)) //ïîëó÷èòü áàéò èç áóôåðà
#define RET_OK 1
#define RET_ERR 0
void CmdError(void); //Ñîîáùåíèå îá îøèáêå
typedef struct {
u16 EncodeCount; //Êîëè÷åñòâî øàãîâ ýíêîäåðà
u32 Time; //Âðåìÿ äëÿ ýòîãî êîëè÷åñòâà øàãîâ ýíêîäåðà
} tMeasure;
FIFO(16) CmdBuf;
//----------------------------------- ÊÎÌÀÍÄÛ USART (N/C Drill ïëþñ íåñêîëüêî ñåðâèñíûõ êîìàíä) -----------------------------------
typedef u08 (*VOID_CMD)(u08 *cmd);
typedef const PROGMEM struct{
char Code[8]; //Êîä êîìàíäû
VOID_CMD Func; //Ôóíêöèÿ èñïîëíÿþùàÿ êîìàíäó
} PROGMEM pCmdElement;
#endif /* CNCDRILL_H_ */