-
Notifications
You must be signed in to change notification settings - Fork 0
/
ipb_usr.h
113 lines (103 loc) · 2.25 KB
/
ipb_usr.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**
* @file ipb_usr.h
* @brief This file contains functions to be implemented by user to
* migrate platform dependencies
*
* @author Firmware department
* @copyright Ingenia Motion Control (c) 2018. All rights reserved.
*/
#ifndef IPB_USR_H
#define IPB_USR_H
#include <stdint.h>
#include <stdbool.h>
/**
* Gets the number of milliseconds since system was started
*
* @retval milliseconds
*/
uint32_t
Ipb_GetMillis(void);
/**
* UART reception
*
* @note Non Blocking function
*
* @param[in] u16Id
* Identification of the IPB instance
* @param[in] pu8Buf
* Pointer to buffer to be recevied
* @param[in] u16Size
* Size to receive bytes
*
* @retval number of read bytes
*/
uint16_t
Ipb_IntfUartReception(uint16_t u16Id, uint8_t *pu8Buf, uint16_t u16Size);
/**
* UART transmission
*
* @note Non Blocking function
*
* @param[in] u16Id
* Identification of the IPB instance
* @param[in] pu8Buf
* Pointer to buffer to be transmited
* @param[in] u16Size
* Size to transmit bytes
*
* @retval number of read bytes
*/
uint16_t
Ipb_IntfUartTransmission(uint16_t u16Id, const uint8_t *pu8Buf, uint16_t u16Size);
/**
* Discard accumulated data of the uart buffer
*
* @param[in] u16Id
* Identification of the IPB instance
*/
void
Ipb_IntfUartDiscardData(uint16_t u16Id);
/**
* USB reception
*
* @note Non Blocking function
*
* @param[in] u16Id
* Identification of the IPB instance
* @param[in] pu8Buf
* Pointer to buffer to be recevied
* @param[in] u16Size
* Size to receive bytes
*
* @retval number of read bytes
* @note Function called when reception errors occurs,
* the buffered data need to be removed.
*
*/
uint16_t
Ipb_IntfUsbReception(uint16_t u16Id, uint8_t *pu8Buf, uint16_t u16Size);
/**
* USB transmission
*
* @note Non Blocking function
*
* @param[in] u16Id
* Identification of the IPB instance
* @param[in] pu8Buf
* Pointer to buffer to be transmited
* @param[in] u16Size
* Size to transmit bytes
*
* @retval number of read bytes
*/
uint16_t
Ipb_IntfUsbTransmission(uint16_t u16Id, const uint8_t *pu8Buf, uint16_t u16Size);
/**
* Discard accumulated data of the usb buffer
*
* @param[in] u16Id
* Identification of the IPB instance
*/
void
Ipb_IntfUsbDiscardData(uint16_t u16Id);
#endif /* IPB_USR_H */