ClearCore Library
Loading...
Searching...
No Matches
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
36extern "C" {
37#endif
38
40#define HBRIDGE_CON_CNT (2)
42#define MOTOR_CON_CNT (4)
43
54typedef enum {
78 // Motor inputs
87 // CCIO-8 Pins
153 CLEARCORE_PIN_CCIO_MAX,
155
156#ifdef __cplusplus
157} // extern "C"
158#endif
159
160#ifdef __cplusplus
161
162namespace 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;
215};
216
217} // ClearCore namespace
218#endif // defined(__cplusplus)
219
220#endif // !__SYSCONNECTORS_H__
ClearCorePins
ClearCore PIN definitions.
Definition SysConnectors.h:54
@ CLEARCORE_PIN_CCIOE2
CCIO-8 board 5, connector 2.
Definition SysConnectors.h:123
@ CLEARCORE_PIN_A10
[10] A-10 ClearCore::DigitalInAnalogIn Connector
Definition SysConnectors.h:66
@ CLEARCORE_PIN_CCIOC6
CCIO-8 board 3, connector 6.
Definition SysConnectors.h:111
@ CLEARCORE_PIN_CCIOD7
CCIO-8 board 4, connector 7.
Definition SysConnectors.h:120
@ CLEARCORE_PIN_CCIOA1
CCIO-8 board 1, connector 1.
Definition SysConnectors.h:90
@ CLEARCORE_PIN_CCIOH0
CCIO-8 board 8, connector 0.
Definition SysConnectors.h:145
@ CLEARCORE_PIN_CCIOF5
CCIO-8 board 6, connector 5.
Definition SysConnectors.h:134
@ CLEARCORE_PIN_A12
[12] A-12 ClearCore::DigitalInAnalogIn Connector
Definition SysConnectors.h:68
@ CLEARCORE_PIN_CCIOF3
CCIO-8 board 6, connector 3.
Definition SysConnectors.h:132
@ CLEARCORE_PIN_CCIOA7
CCIO-8 board 1, connector 7.
Definition SysConnectors.h:96
@ CLEARCORE_PIN_USB
[20] USB ClearCore::SerialUsb Connector
Definition SysConnectors.h:76
@ CLEARCORE_PIN_CCIOG6
CCIO-8 board 7, connector 6.
Definition SysConnectors.h:143
@ CLEARCORE_PIN_CCIOE7
CCIO-8 board 5, connector 7.
Definition SysConnectors.h:128
@ CLEARCORE_PIN_CCIOE3
CCIO-8 board 5, connector 3.
Definition SysConnectors.h:124
@ CLEARCORE_PIN_CCIOG5
CCIO-8 board 7, connector 5.
Definition SysConnectors.h:142
@ CLEARCORE_PIN_M1_INB
[27] M-1 ClearCore::MotorDriver InB
Definition SysConnectors.h:84
@ CLEARCORE_PIN_CCIOC3
CCIO-8 board 3, connector 3.
Definition SysConnectors.h:108
@ CLEARCORE_PIN_CCIOF1
CCIO-8 board 6, connector 1.
Definition SysConnectors.h:130
@ CLEARCORE_PIN_CCIOB3
CCIO-8 board 2, connector 3.
Definition SysConnectors.h:100
@ CLEARCORE_PIN_CCIOH4
CCIO-8 board 8, connector 4.
Definition SysConnectors.h:149
@ CLEARCORE_PIN_M0
[14] M-0 ClearCore::MotorDriver Connector
Definition SysConnectors.h:70
@ CLEARCORE_PIN_M3_INB
[29] M-3 ClearCore::MotorDriver InB
Definition SysConnectors.h:86
@ CLEARCORE_PIN_IO4
[04] IO-4 ClearCore::DigitalInOutHBridge Connector
Definition SysConnectors.h:60
@ CLEARCORE_PIN_M2_INB
[28] M-2 ClearCore::MotorDriver InB
Definition SysConnectors.h:85
@ CLEARCORE_PIN_M3
[17] M-3 ClearCore::MotorDriver Connector
Definition SysConnectors.h:73
@ CLEARCORE_PIN_DI8
[08] DI-8 ClearCore::DigitalIn Connector
Definition SysConnectors.h:64
@ CLEARCORE_PIN_INVALID
Invalid connector index.
Definition SysConnectors.h:55
@ CLEARCORE_PIN_CCIOA4
CCIO-8 board 1, connector 4.
Definition SysConnectors.h:93
@ CLEARCORE_PIN_CCIOH3
CCIO-8 board 8, connector 3.
Definition SysConnectors.h:148
@ CLEARCORE_PIN_CCIOH2
CCIO-8 board 8, connector 2.
Definition SysConnectors.h:147
@ CLEARCORE_PIN_COM1
[19] COM-1 ClearCore::SerialDriver Connector
Definition SysConnectors.h:75
@ CLEARCORE_PIN_CCIOD3
CCIO-8 board 4, connector 3.
Definition SysConnectors.h:116
@ CLEARCORE_PIN_A11
[11] A-11 ClearCore::DigitalInAnalogIn Connector
Definition SysConnectors.h:67
@ CLEARCORE_PIN_CCIOD6
CCIO-8 board 4, connector 6.
Definition SysConnectors.h:119
@ CLEARCORE_PIN_MAX
[21] Count of Connectors on the ClearCore board
Definition SysConnectors.h:77
@ CLEARCORE_PIN_CCIOE6
CCIO-8 board 5, connector 6.
Definition SysConnectors.h:127
@ CLEARCORE_PIN_CCIOF4
CCIO-8 board 6, connector 4.
Definition SysConnectors.h:133
@ CLEARCORE_PIN_CCIOG1
CCIO-8 board 7, connector 1.
Definition SysConnectors.h:138
@ CLEARCORE_PIN_CCIOC4
CCIO-8 board 3, connector 4.
Definition SysConnectors.h:109
@ CLEARCORE_PIN_CCIOE0
CCIO-8 board 5, connector 0.
Definition SysConnectors.h:121
@ CLEARCORE_PIN_CCIOB1
CCIO-8 board 2, connector 1.
Definition SysConnectors.h:98
@ CLEARCORE_PIN_CCIOB7
CCIO-8 board 2, connector 7.
Definition SysConnectors.h:104
@ CLEARCORE_PIN_CCIOF7
CCIO-8 board 6, connector 7.
Definition SysConnectors.h:136
@ CLEARCORE_PIN_CCIOA0
CCIO-8 board 1, connector 0.
Definition SysConnectors.h:89
@ CLEARCORE_PIN_CCIOF0
CCIO-8 board 6, connector 0.
Definition SysConnectors.h:129
@ CLEARCORE_PIN_CCIOH6
CCIO-8 board 8, connector 6.
Definition SysConnectors.h:151
@ CLEARCORE_PIN_DI6
[06] DI-6 ClearCore::DigitalIn Connector
Definition SysConnectors.h:62
@ CLEARCORE_PIN_M0_INB
[26] M-0 ClearCore::MotorDriver InB
Definition SysConnectors.h:83
@ CLEARCORE_PIN_A9
[09] A-9 ClearCore::DigitalInAnalogIn Connector
Definition SysConnectors.h:65
@ CLEARCORE_PIN_CCIOG7
CCIO-8 board 7, connector 7.
Definition SysConnectors.h:144
@ CLEARCORE_PIN_M3_INA
[25] M-3 ClearCore::MotorDriver InA
Definition SysConnectors.h:82
@ CLEARCORE_PIN_CCIOG2
CCIO-8 board 7, connector 2.
Definition SysConnectors.h:139
@ CLEARCORE_PIN_CCIOC1
CCIO-8 board 3, connector 1.
Definition SysConnectors.h:106
@ CLEARCORE_PIN_CCIOA6
CCIO-8 board 1, connector 6.
Definition SysConnectors.h:95
@ CLEARCORE_PIN_CCIOC0
CCIO-8 board 3, connector 0.
Definition SysConnectors.h:105
@ CLEARCORE_PIN_M0_INA
[22] M-0 ClearCore::MotorDriver InA
Definition SysConnectors.h:79
@ CLEARCORE_PIN_CCIOG0
CCIO-8 board 7, connector 0.
Definition SysConnectors.h:137
@ CLEARCORE_PIN_CCIOC7
CCIO-8 board 3, connector 7.
Definition SysConnectors.h:112
@ CLEARCORE_PIN_CCIOH5
CCIO-8 board 8, connector 5.
Definition SysConnectors.h:150
@ CLEARCORE_PIN_CCIOC2
CCIO-8 board 3, connector 2.
Definition SysConnectors.h:107
@ CLEARCORE_PIN_CCIOB6
CCIO-8 board 2, connector 6.
Definition SysConnectors.h:103
@ CLEARCORE_PIN_CCIOB5
CCIO-8 board 2, connector 5.
Definition SysConnectors.h:102
@ CLEARCORE_PIN_CCIOD2
CCIO-8 board 4, connector 2.
Definition SysConnectors.h:115
@ CLEARCORE_PIN_IO3
[03] IO-3 ClearCore::DigitalInOut Connector
Definition SysConnectors.h:59
@ CLEARCORE_PIN_CCIOD1
CCIO-8 board 4, connector 1.
Definition SysConnectors.h:114
@ CLEARCORE_PIN_DI7
[07] DI-7 ClearCore::DigitalIn Connector
Definition SysConnectors.h:63
@ CLEARCORE_PIN_M1
[15] M-1 ClearCore::MotorDriver Connector
Definition SysConnectors.h:71
@ CLEARCORE_PIN_CCIOH1
CCIO-8 board 8, connector 1.
Definition SysConnectors.h:146
@ CLEARCORE_PIN_CCIOF6
CCIO-8 board 6, connector 6.
Definition SysConnectors.h:135
@ CLEARCORE_PIN_CCIOB0
CCIO-8 board 2, connector 0.
Definition SysConnectors.h:97
@ CLEARCORE_PIN_CCIOD5
CCIO-8 board 4, connector 5.
Definition SysConnectors.h:118
@ CLEARCORE_PIN_COM0
[18] COM-0 ClearCore::SerialDriver Connector
Definition SysConnectors.h:74
@ CLEARCORE_PIN_CCIOC5
CCIO-8 board 3, connector 5.
Definition SysConnectors.h:110
@ CLEARCORE_PIN_CCIOH7
CCIO-8 board 8, connector 7.
Definition SysConnectors.h:152
@ CLEARCORE_PIN_CCIOB2
CCIO-8 board 2, connector 2.
Definition SysConnectors.h:99
@ CLEARCORE_PIN_CCIOG3
CCIO-8 board 7, connector 3.
Definition SysConnectors.h:140
@ CLEARCORE_PIN_IO2
[02] IO-2 ClearCore::DigitalInOut Connector
Definition SysConnectors.h:58
@ CLEARCORE_PIN_CCIOE1
CCIO-8 board 5, connector 1.
Definition SysConnectors.h:122
@ CLEARCORE_PIN_LED
[13] User LED ClearCore::LedDriver Connector
Definition SysConnectors.h:69
@ CLEARCORE_PIN_CCIOF2
CCIO-8 board 6, connector 2.
Definition SysConnectors.h:131
@ CLEARCORE_PIN_IO1
[01] IO-1 ClearCore::DigitalInOut Connector
Definition SysConnectors.h:57
@ CLEARCORE_PIN_CCIOD4
CCIO-8 board 4, connector 4.
Definition SysConnectors.h:117
@ CLEARCORE_PIN_CCIOE5
CCIO-8 board 5, connector 5.
Definition SysConnectors.h:126
@ CLEARCORE_PIN_M2
[16] M-2 ClearCore::MotorDriver Connector
Definition SysConnectors.h:72
@ CLEARCORE_PIN_CCIO_BASE
[64] Base index of CCIO-8 connectors
Definition SysConnectors.h:88
@ CLEARCORE_PIN_CCIOB4
CCIO-8 board 2, connector 4.
Definition SysConnectors.h:101
@ CLEARCORE_PIN_M2_INA
[24] M-2 ClearCore::MotorDriver InA
Definition SysConnectors.h:81
@ CLEARCORE_PIN_CCIOD0
CCIO-8 board 4, connector 0.
Definition SysConnectors.h:113
@ CLEARCORE_PIN_IO5
[05] IO-5 ClearCore::DigitalInOutHBridge Connector
Definition SysConnectors.h:61
@ CLEARCORE_PIN_CCIOE4
CCIO-8 board 5, connector 4.
Definition SysConnectors.h:125
@ CLEARCORE_PIN_IO0
[00] IO-0 ClearCore::DigitalInOutAnalogOut Connector
Definition SysConnectors.h:56
@ CLEARCORE_PIN_CCIOA3
CCIO-8 board 1, connector 3.
Definition SysConnectors.h:92
@ CLEARCORE_PIN_M1_INA
[23] M-1 ClearCore::MotorDriver InA
Definition SysConnectors.h:80
@ CLEARCORE_PIN_CCIOA2
CCIO-8 board 1, connector 2.
Definition SysConnectors.h:91
@ CLEARCORE_PIN_CCIOA5
CCIO-8 board 1, connector 5.
Definition SysConnectors.h:94
@ CLEARCORE_PIN_CCIOG4
CCIO-8 board 7, connector 4.
Definition SysConnectors.h:141
Namespace to encompass the ClearCore board API.
Definition AdcManager.h:36
Definition SysConnectors.h:174
SysConnectorState(uint32_t initialBits)
Definition SysConnectors.h:178
uint32_t reg
Definition SysConnectors.h:187
SysConnectorState()
Definition SysConnectors.h:182
struct ClearCore::SysConnectorState::@6 bit