AM243x MCU+ SDK  08.04.00
hdsl_interface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 
34 #ifndef HDSL_INTERFACE_H_
35 #define HDSL_INTERFACE_H_
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 #include <stdio.h>
42 #include <string.h>
43 #include <math.h>
44 #include <stdlib.h>
45 
46 #include <stdbool.h>
47 
52 {
53  volatile uint8_t SYS_CTRL;
54  volatile uint8_t SYNC_CTRL;
55  volatile uint8_t resvd0;
56  volatile uint8_t MASTER_QM;
57  volatile uint8_t EVENT_H;
58  volatile uint8_t EVENT_L;
59  volatile uint8_t MASK_H;
60  volatile uint8_t MASK_L;
61  volatile uint8_t MASK_SUM;
62  volatile uint8_t EDGES;
63  volatile uint8_t DELAY;
64  volatile uint8_t VERSION;
65  volatile uint8_t resvd1;
66  volatile uint8_t ENC_ID2;
67  volatile uint8_t ENC_ID1;
68  volatile uint8_t ENC_ID0;
69  volatile uint8_t POS4;
70  volatile uint8_t POS3;
71  volatile uint8_t POS2;
72  volatile uint8_t POS1;
73  volatile uint8_t POS0;
74  volatile uint8_t VEL2;
75  volatile uint8_t VEL1;
76  volatile uint8_t VEL0;
77  volatile uint8_t SUMMARY;
78  volatile uint8_t VPOS4;
79  volatile uint8_t VPOS3;
80  volatile uint8_t VPOS2;
81  volatile uint8_t VPOS1;
82  volatile uint8_t VPOS0;
83  volatile uint8_t VPOSCRC_H;
84  volatile uint8_t VPOSCRC_L;
85  volatile uint8_t PC_BUFFER0;
86  volatile uint8_t PC_BUFFER1;
87  volatile uint8_t PC_BUFFER2;
88  volatile uint8_t PC_BUFFER3;
89  volatile uint8_t PC_BUFFER4;
90  volatile uint8_t PC_BUFFER5;
91  volatile uint8_t PC_BUFFER6;
92  volatile uint8_t PC_BUFFER7;
93  volatile uint8_t PC_ADD_H;
94  volatile uint8_t PC_ADD_L;
95  volatile uint8_t PC_OFF_H;
96  volatile uint8_t PC_OFF_L;
97  volatile uint8_t PC_CTRL;
98  volatile uint8_t PIPE_S;
99  volatile uint8_t PIPE_D;
100  volatile uint8_t PC_DATA;
101  volatile uint8_t resvd2;
102  volatile uint8_t resvd3;
103  volatile uint8_t resvd4;
104  volatile uint8_t resvd5;
105  volatile uint8_t resvd6;
106  volatile uint8_t resvd7;
107  volatile uint8_t resvd8;
108  volatile uint8_t S_PC_DATA;
109  volatile uint8_t ACC_ERR_CNT;
110  volatile uint8_t MAXACC;
111  volatile uint8_t MAXDEV_H;
112  volatile uint8_t MAXDEV_L;
113  volatile uint8_t resvd10;
114  volatile uint8_t resvd11;
115  volatile uint8_t resvd12;
116  volatile uint8_t DUMMY;
117  volatile uint8_t SLAVE_REG_CTRL;
118  volatile uint8_t ACC_ERR_CNT_THRES;
119  volatile uint8_t MAXDEV_H_THRES;
120  volatile uint8_t MAXDEV_L_THRES;
121  /*Safe 2 Interface */
122  volatile uint8_t version;
123  volatile uint8_t ENC2_ID;
124  volatile uint8_t STATUS2;
125  volatile uint8_t VPOS24;
126  volatile uint8_t VPOS23;
127  volatile uint8_t VPOS22;
128  volatile uint8_t VPOS21;
129  volatile uint8_t VPOS20;
130  volatile uint8_t VPOSCRC2_H;
131  volatile uint8_t VPOSCRC2_L;
132  volatile uint8_t DUMMY2;
133  /* Online Status*/
134  volatile uint16_t ONLINE_STATUS_D;
135  volatile uint16_t ONLINE_STATUS_1;
136  volatile uint16_t ONLINE_STATUS_2;
137 };
138 
139 
140 
141 #ifdef __cplusplus
142 }
143 #endif
144 
145 #endif
hdslInterface::POS4
volatile uint8_t POS4
Definition: hdsl_interface.h:69
hdslInterface::PIPE_D
volatile uint8_t PIPE_D
Definition: hdsl_interface.h:99
hdslInterface::MASK_L
volatile uint8_t MASK_L
Definition: hdsl_interface.h:60
hdslInterface::VEL0
volatile uint8_t VEL0
Definition: hdsl_interface.h:76
hdslInterface::VPOSCRC2_L
volatile uint8_t VPOSCRC2_L
Definition: hdsl_interface.h:131
hdslInterface::PC_BUFFER3
volatile uint8_t PC_BUFFER3
Definition: hdsl_interface.h:88
hdslInterface::SUMMARY
volatile uint8_t SUMMARY
Definition: hdsl_interface.h:77
hdslInterface::POS3
volatile uint8_t POS3
Definition: hdsl_interface.h:70
hdslInterface::ACC_ERR_CNT
volatile uint8_t ACC_ERR_CNT
Definition: hdsl_interface.h:109
hdslInterface::EVENT_L
volatile uint8_t EVENT_L
Definition: hdsl_interface.h:58
hdslInterface::VEL2
volatile uint8_t VEL2
Definition: hdsl_interface.h:74
hdslInterface::POS0
volatile uint8_t POS0
Definition: hdsl_interface.h:73
hdslInterface::resvd5
volatile uint8_t resvd5
Definition: hdsl_interface.h:104
hdslInterface::DUMMY2
volatile uint8_t DUMMY2
Definition: hdsl_interface.h:132
hdslInterface::resvd6
volatile uint8_t resvd6
Definition: hdsl_interface.h:105
hdslInterface::VPOS4
volatile uint8_t VPOS4
Definition: hdsl_interface.h:78
hdslInterface::resvd3
volatile uint8_t resvd3
Definition: hdsl_interface.h:102
hdslInterface::VPOSCRC_L
volatile uint8_t VPOSCRC_L
Definition: hdsl_interface.h:84
hdslInterface::POS1
volatile uint8_t POS1
Definition: hdsl_interface.h:72
hdslInterface::ENC2_ID
volatile uint8_t ENC2_ID
Definition: hdsl_interface.h:123
hdslInterface::resvd7
volatile uint8_t resvd7
Definition: hdsl_interface.h:106
hdslInterface::DUMMY
volatile uint8_t DUMMY
Definition: hdsl_interface.h:116
hdslInterface
HDSL Interface.
Definition: hdsl_interface.h:52
hdslInterface::VPOS1
volatile uint8_t VPOS1
Definition: hdsl_interface.h:81
hdslInterface::ENC_ID1
volatile uint8_t ENC_ID1
Definition: hdsl_interface.h:67
hdslInterface::ACC_ERR_CNT_THRES
volatile uint8_t ACC_ERR_CNT_THRES
Definition: hdsl_interface.h:118
hdslInterface::DELAY
volatile uint8_t DELAY
Definition: hdsl_interface.h:63
hdslInterface::VPOSCRC_H
volatile uint8_t VPOSCRC_H
Definition: hdsl_interface.h:83
hdslInterface::PC_BUFFER0
volatile uint8_t PC_BUFFER0
Definition: hdsl_interface.h:85
hdslInterface::PC_ADD_H
volatile uint8_t PC_ADD_H
Definition: hdsl_interface.h:93
hdslInterface::VPOS3
volatile uint8_t VPOS3
Definition: hdsl_interface.h:79
hdslInterface::MASTER_QM
volatile uint8_t MASTER_QM
Definition: hdsl_interface.h:56
hdslInterface::SYNC_CTRL
volatile uint8_t SYNC_CTRL
Definition: hdsl_interface.h:54
hdslInterface::MAXDEV_H
volatile uint8_t MAXDEV_H
Definition: hdsl_interface.h:111
hdslInterface::VPOS22
volatile uint8_t VPOS22
Definition: hdsl_interface.h:127
hdslInterface::PC_DATA
volatile uint8_t PC_DATA
Definition: hdsl_interface.h:100
hdslInterface::resvd11
volatile uint8_t resvd11
Definition: hdsl_interface.h:114
hdslInterface::MASK_H
volatile uint8_t MASK_H
Definition: hdsl_interface.h:59
hdslInterface::VEL1
volatile uint8_t VEL1
Definition: hdsl_interface.h:75
hdslInterface::PC_BUFFER1
volatile uint8_t PC_BUFFER1
Definition: hdsl_interface.h:86
hdslInterface::PC_BUFFER5
volatile uint8_t PC_BUFFER5
Definition: hdsl_interface.h:90
hdslInterface::EDGES
volatile uint8_t EDGES
Definition: hdsl_interface.h:62
hdslInterface::ONLINE_STATUS_2
volatile uint16_t ONLINE_STATUS_2
Definition: hdsl_interface.h:136
hdslInterface::PC_OFF_L
volatile uint8_t PC_OFF_L
Definition: hdsl_interface.h:96
hdslInterface::ONLINE_STATUS_D
volatile uint16_t ONLINE_STATUS_D
Definition: hdsl_interface.h:134
hdslInterface::VPOS0
volatile uint8_t VPOS0
Definition: hdsl_interface.h:82
hdslInterface::PC_BUFFER7
volatile uint8_t PC_BUFFER7
Definition: hdsl_interface.h:92
hdslInterface::VPOS20
volatile uint8_t VPOS20
Definition: hdsl_interface.h:129
hdslInterface::resvd0
volatile uint8_t resvd0
Definition: hdsl_interface.h:55
hdslInterface::PC_ADD_L
volatile uint8_t PC_ADD_L
Definition: hdsl_interface.h:94
hdslInterface::VPOS24
volatile uint8_t VPOS24
Definition: hdsl_interface.h:125
hdslInterface::resvd4
volatile uint8_t resvd4
Definition: hdsl_interface.h:103
hdslInterface::resvd1
volatile uint8_t resvd1
Definition: hdsl_interface.h:65
hdslInterface::MAXDEV_H_THRES
volatile uint8_t MAXDEV_H_THRES
Definition: hdsl_interface.h:119
hdslInterface::PC_OFF_H
volatile uint8_t PC_OFF_H
Definition: hdsl_interface.h:95
hdslInterface::VPOS21
volatile uint8_t VPOS21
Definition: hdsl_interface.h:128
hdslInterface::resvd10
volatile uint8_t resvd10
Definition: hdsl_interface.h:113
hdslInterface::MAXACC
volatile uint8_t MAXACC
Definition: hdsl_interface.h:110
hdslInterface::MAXDEV_L
volatile uint8_t MAXDEV_L
Definition: hdsl_interface.h:112
hdslInterface::VPOSCRC2_H
volatile uint8_t VPOSCRC2_H
Definition: hdsl_interface.h:130
hdslInterface::SYS_CTRL
volatile uint8_t SYS_CTRL
Definition: hdsl_interface.h:53
hdslInterface::S_PC_DATA
volatile uint8_t S_PC_DATA
Definition: hdsl_interface.h:108
hdslInterface::STATUS2
volatile uint8_t STATUS2
Definition: hdsl_interface.h:124
hdslInterface::VPOS2
volatile uint8_t VPOS2
Definition: hdsl_interface.h:80
hdslInterface::MASK_SUM
volatile uint8_t MASK_SUM
Definition: hdsl_interface.h:61
hdslInterface::PC_BUFFER4
volatile uint8_t PC_BUFFER4
Definition: hdsl_interface.h:89
hdslInterface::VPOS23
volatile uint8_t VPOS23
Definition: hdsl_interface.h:126
hdslInterface::resvd2
volatile uint8_t resvd2
Definition: hdsl_interface.h:101
hdslInterface::ENC_ID2
volatile uint8_t ENC_ID2
Definition: hdsl_interface.h:66
hdslInterface::SLAVE_REG_CTRL
volatile uint8_t SLAVE_REG_CTRL
Definition: hdsl_interface.h:117
hdslInterface::PIPE_S
volatile uint8_t PIPE_S
Definition: hdsl_interface.h:98
hdslInterface::MAXDEV_L_THRES
volatile uint8_t MAXDEV_L_THRES
Definition: hdsl_interface.h:120
hdslInterface::PC_BUFFER6
volatile uint8_t PC_BUFFER6
Definition: hdsl_interface.h:91
hdslInterface::ONLINE_STATUS_1
volatile uint16_t ONLINE_STATUS_1
Definition: hdsl_interface.h:135
hdslInterface::version
volatile uint8_t version
Definition: hdsl_interface.h:122
hdslInterface::PC_CTRL
volatile uint8_t PC_CTRL
Definition: hdsl_interface.h:97
hdslInterface::VERSION
volatile uint8_t VERSION
Definition: hdsl_interface.h:64
hdslInterface::resvd8
volatile uint8_t resvd8
Definition: hdsl_interface.h:107
hdslInterface::resvd12
volatile uint8_t resvd12
Definition: hdsl_interface.h:115
hdslInterface::ENC_ID0
volatile uint8_t ENC_ID0
Definition: hdsl_interface.h:68
hdslInterface::EVENT_H
volatile uint8_t EVENT_H
Definition: hdsl_interface.h:57
hdslInterface::PC_BUFFER2
volatile uint8_t PC_BUFFER2
Definition: hdsl_interface.h:87
hdslInterface::POS2
volatile uint8_t POS2
Definition: hdsl_interface.h:71