ClearCore Library
SysConnectors.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Teknic, Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20  * SOFTWARE.
21  */
22 
31 #ifndef __SYSCONNECTORS_H__
32 #define __SYSCONNECTORS_H__
33 
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
40 #define HBRIDGE_CON_CNT (2)
41 
42 #define MOTOR_CON_CNT (4)
43 
54 typedef enum {
78  // Motor inputs
87  // CCIO-8 Pins
153  CLEARCORE_PIN_CCIO_MAX,
154 } ClearCorePins;
155 
156 #ifdef __cplusplus
157 } // extern "C"
158 #endif
159 
160 #ifdef __cplusplus
161 
162 namespace ClearCore {
163 
178  SysConnectorState(uint32_t initialBits) : reg(initialBits) {}
183 
187  uint32_t reg;
191  struct {
192  // Matched to ClearCorePins enum.
193  uint32_t CLEARCORE_PIN_IO0 : 1;
194  uint32_t CLEARCORE_PIN_IO1 : 1;
195  uint32_t CLEARCORE_PIN_IO2 : 1;
196  uint32_t CLEARCORE_PIN_IO3 : 1;
197  uint32_t CLEARCORE_PIN_IO4 : 1;
198  uint32_t CLEARCORE_PIN_IO5 : 1;
199  uint32_t CLEARCORE_PIN_DI6 : 1;
200  uint32_t CLEARCORE_PIN_DI7 : 1;
201  uint32_t CLEARCORE_PIN_DI8 : 1;
202  uint32_t CLEARCORE_PIN_A9 : 1;
203  uint32_t CLEARCORE_PIN_A10 : 1;
204  uint32_t CLEARCORE_PIN_A11 : 1;
205  uint32_t CLEARCORE_PIN_A12 : 1;
206  uint32_t CLEARCORE_PIN_LED : 1;
207  uint32_t CLEARCORE_PIN_M0 : 1;
208  uint32_t CLEARCORE_PIN_M1 : 1;
209  uint32_t CLEARCORE_PIN_M2 : 1;
210  uint32_t CLEARCORE_PIN_M3 : 1;
211  uint32_t CLEARCORE_PIN_COM0 : 1;
212  uint32_t CLEARCORE_PIN_COM1 : 1;
213  uint32_t CLEARCORE_PIN_USB : 1;
214  } bit;
215 };
216 
217 } // ClearCore namespace
218 #endif // defined(__cplusplus)
219 
220 #endif // !__SYSCONNECTORS_H__
CCIO-8 board 8, connector 1.
Definition: SysConnectors.h:146
[23] M-1 ClearCore::MotorDriver InA
Definition: SysConnectors.h:80
[13] User LED ClearCore::LedDriver Connector
Definition: SysConnectors.h:69
[01] IO-1 ClearCore::DigitalInOut Connector
Definition: SysConnectors.h:57
[18] COM-0 ClearCore::SerialDriver Connector
Definition: SysConnectors.h:74
CCIO-8 board 3, connector 2.
Definition: SysConnectors.h:107
uint32_t reg
Definition: SysConnectors.h:187
CCIO-8 board 2, connector 5.
Definition: SysConnectors.h:102
SysConnectorState()
Definition: SysConnectors.h:182
CCIO-8 board 2, connector 6.
Definition: SysConnectors.h:103
CCIO-8 board 1, connector 2.
Definition: SysConnectors.h:91
[25] M-3 ClearCore::MotorDriver InA
Definition: SysConnectors.h:82
CCIO-8 board 5, connector 6.
Definition: SysConnectors.h:127
CCIO-8 board 4, connector 5.
Definition: SysConnectors.h:118
CCIO-8 board 1, connector 5.
Definition: SysConnectors.h:94
[17] M-3 ClearCore::MotorDriver Connector
Definition: SysConnectors.h:73
CCIO-8 board 8, connector 2.
Definition: SysConnectors.h:147
[03] IO-3 ClearCore::DigitalInOut Connector
Definition: SysConnectors.h:59
CCIO-8 board 5, connector 4.
Definition: SysConnectors.h:125
CCIO-8 board 4, connector 4.
Definition: SysConnectors.h:117
CCIO-8 board 3, connector 4.
Definition: SysConnectors.h:109
CCIO-8 board 3, connector 6.
Definition: SysConnectors.h:111
CCIO-8 board 2, connector 4.
Definition: SysConnectors.h:101
CCIO-8 board 8, connector 6.
Definition: SysConnectors.h:151
CCIO-8 board 4, connector 0.
Definition: SysConnectors.h:113
CCIO-8 board 8, connector 5.
Definition: SysConnectors.h:150
CCIO-8 board 2, connector 7.
Definition: SysConnectors.h:104
[06] DI-6 ClearCore::DigitalIn Connector
Definition: SysConnectors.h:62
CCIO-8 board 7, connector 0.
Definition: SysConnectors.h:137
CCIO-8 board 6, connector 7.
Definition: SysConnectors.h:136
CCIO-8 board 6, connector 6.
Definition: SysConnectors.h:135
CCIO-8 board 6, connector 5.
Definition: SysConnectors.h:134
[14] M-0 ClearCore::MotorDriver Connector
Definition: SysConnectors.h:70
[28] M-2 ClearCore::MotorDriver InB
Definition: SysConnectors.h:85
[07] DI-7 ClearCore::DigitalIn Connector
Definition: SysConnectors.h:63
CCIO-8 board 2, connector 1.
Definition: SysConnectors.h:98
CCIO-8 board 3, connector 0.
Definition: SysConnectors.h:105
CCIO-8 board 8, connector 4.
Definition: SysConnectors.h:149
CCIO-8 board 2, connector 3.
Definition: SysConnectors.h:100
CCIO-8 board 5, connector 0.
Definition: SysConnectors.h:121
CCIO-8 board 3, connector 5.
Definition: SysConnectors.h:110
CCIO-8 board 6, connector 2.
Definition: SysConnectors.h:131
CCIO-8 board 1, connector 0.
Definition: SysConnectors.h:89
CCIO-8 board 5, connector 1.
Definition: SysConnectors.h:122
SysConnectorState(uint32_t initialBits)
Definition: SysConnectors.h:178
[15] M-1 ClearCore::MotorDriver Connector
Definition: SysConnectors.h:71
CCIO-8 board 5, connector 7.
Definition: SysConnectors.h:128
CCIO-8 board 4, connector 1.
Definition: SysConnectors.h:114
CCIO-8 board 6, connector 4.
Definition: SysConnectors.h:133
CCIO-8 board 7, connector 1.
Definition: SysConnectors.h:138
[19] COM-1 ClearCore::SerialDriver Connector
Definition: SysConnectors.h:75
[27] M-1 ClearCore::MotorDriver InB
Definition: SysConnectors.h:84
CCIO-8 board 6, connector 1.
Definition: SysConnectors.h:130
CCIO-8 board 4, connector 3.
Definition: SysConnectors.h:116
CCIO-8 board 4, connector 7.
Definition: SysConnectors.h:120
Namespace to encompass the ClearCore board API.
Definition: AdcManager.h:36
CCIO-8 board 3, connector 3.
Definition: SysConnectors.h:108
CCIO-8 board 2, connector 0.
Definition: SysConnectors.h:97
[29] M-3 ClearCore::MotorDriver InB
Definition: SysConnectors.h:86
CCIO-8 board 5, connector 2.
Definition: SysConnectors.h:123
CCIO-8 board 8, connector 7.
Definition: SysConnectors.h:152
[26] M-0 ClearCore::MotorDriver InB
Definition: SysConnectors.h:83
CCIO-8 board 5, connector 5.
Definition: SysConnectors.h:126
Definition: SysConnectors.h:174
CCIO-8 board 1, connector 1.
Definition: SysConnectors.h:90
[16] M-2 ClearCore::MotorDriver Connector
Definition: SysConnectors.h:72
[10] A-10 ClearCore::DigitalInAnalogIn Connector
Definition: SysConnectors.h:66
[12] A-12 ClearCore::DigitalInAnalogIn Connector
Definition: SysConnectors.h:68
CCIO-8 board 3, connector 1.
Definition: SysConnectors.h:106
struct ClearCore::SysConnectorState::@6 bit
CCIO-8 board 1, connector 6.
Definition: SysConnectors.h:95
[22] M-0 ClearCore::MotorDriver InA
Definition: SysConnectors.h:79
CCIO-8 board 5, connector 3.
Definition: SysConnectors.h:124
Invalid connector index.
Definition: SysConnectors.h:55
CCIO-8 board 7, connector 6.
Definition: SysConnectors.h:143
[24] M-2 ClearCore::MotorDriver InA
Definition: SysConnectors.h:81
CCIO-8 board 7, connector 2.
Definition: SysConnectors.h:139
[20] USB ClearCore::SerialUsb Connector
Definition: SysConnectors.h:76
CCIO-8 board 8, connector 0.
Definition: SysConnectors.h:145
CCIO-8 board 6, connector 3.
Definition: SysConnectors.h:132
CCIO-8 board 8, connector 3.
Definition: SysConnectors.h:148
[21] Count of Connectors on the ClearCore board
Definition: SysConnectors.h:77
CCIO-8 board 7, connector 7.
Definition: SysConnectors.h:144
CCIO-8 board 1, connector 3.
Definition: SysConnectors.h:92
CCIO-8 board 1, connector 4.
Definition: SysConnectors.h:93
CCIO-8 board 7, connector 5.
Definition: SysConnectors.h:142
[09] A-9 ClearCore::DigitalInAnalogIn Connector
Definition: SysConnectors.h:65
CCIO-8 board 2, connector 2.
Definition: SysConnectors.h:99
CCIO-8 board 1, connector 7.
Definition: SysConnectors.h:96
[64] Base index of CCIO-8 connectors
Definition: SysConnectors.h:88
CCIO-8 board 6, connector 0.
Definition: SysConnectors.h:129
ClearCorePins
ClearCore PIN definitions.
Definition: SysConnectors.h:54
[05] IO-5 ClearCore::DigitalInOutHBridge Connector
Definition: SysConnectors.h:61
[11] A-11 ClearCore::DigitalInAnalogIn Connector
Definition: SysConnectors.h:67
CCIO-8 board 4, connector 2.
Definition: SysConnectors.h:115
[04] IO-4 ClearCore::DigitalInOutHBridge Connector
Definition: SysConnectors.h:60
[00] IO-0 ClearCore::DigitalInOutAnalogOut Connector
Definition: SysConnectors.h:56
CCIO-8 board 4, connector 6.
Definition: SysConnectors.h:119
[02] IO-2 ClearCore::DigitalInOut Connector
Definition: SysConnectors.h:58
[08] DI-8 ClearCore::DigitalIn Connector
Definition: SysConnectors.h:64
CCIO-8 board 3, connector 7.
Definition: SysConnectors.h:112
CCIO-8 board 7, connector 3.
Definition: SysConnectors.h:140
CCIO-8 board 7, connector 4.
Definition: SysConnectors.h:141