ClearCore Library
ClearCore.h
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 
23 #ifndef __CLEARCORE_H__
24 #define __CLEARCORE_H__
25 
26 // Header files from the ClearCore hardware that define connectors available
27 #include "AdcManager.h"
28 #include "CcioBoardManager.h"
29 #include "DigitalIn.h"
30 #include "DigitalInAnalogIn.h"
31 #include "DigitalInOut.h"
32 #include "DigitalInOutAnalogOut.h"
33 #include "DigitalInOutHBridge.h"
34 #include "EthernetManager.h"
35 #include "InputManager.h"
36 #include "LedDriver.h"
37 #include "EncoderInput.h"
38 #include "MotorDriver.h"
39 #include "MotorManager.h"
40 #include "SdCardDriver.h"
41 #include "SerialDriver.h"
42 #include "SerialUsb.h"
43 #include "StatusManager.h"
44 #include "SysManager.h"
45 #include "SysTiming.h"
46 #include "XBeeDriver.h"
47 
48 
49 namespace ClearCore {
50 
51 extern LedDriver ConnectorLed;
52 
53 // IO connectors
58 
59 // H-Bridge type connectors
62 
63 // Digital input only connectors
64 extern DigitalIn ConnectorDI6;
65 extern DigitalIn ConnectorDI7;
66 extern DigitalIn ConnectorDI8;
67 
68 // Analog/Digital Inputs
73 
74 // Motor Connectors
75 extern MotorDriver ConnectorM0;
76 extern MotorDriver ConnectorM1;
77 extern MotorDriver ConnectorM2;
78 extern MotorDriver ConnectorM3;
79 
80 // Serial Port connectors
81 extern SerialUsb ConnectorUsb;
84 
87 
90 
92 extern MotorManager &MotorMgr;
93 
95 extern AdcManager &AdcMgr;
96 
98 extern InputManager &InputMgr;
99 
101 extern XBeeDriver XBee;
102 
104 extern EncoderInput EncoderIn;
105 
107 extern StatusManager &StatusMgr;
108 
110 extern SysTiming &TimingMgr;
111 
113 extern SdCardDriver SdCard;
114 
116 extern SysManager SysMgr;
117 }
118 
119 using namespace ClearCore;
120 
121 #endif // __CLEARCORE_H__
MotorDriver ConnectorM1
M-1 connector instance.
AdcManager & AdcMgr
ADC module manager.
DigitalIn ConnectorDI8
DI-8 connector instance.
EncoderInput EncoderIn
Position Decoder.
ClearCore input state access.
ClearCore digital input/output with analog current output Connector class.
Definition: DigitalInOutAnalogOut.h:53
SerialUsb ConnectorUsb
USB connector instance.
MotorManager & MotorMgr
Motor connector manager.
StatusManager & StatusMgr
Status manager.
ClearCore system timing class.
Definition: SysTiming.h:87
Connector LED shift register access.
SysTiming & TimingMgr
Timing manager.
ClearCore digital input connector class.
Definition: DigitalIn.h:70
ClearCore Serial USB Connector class.
Definition: SerialUsb.h:75
DigitalInOut ConnectorIO1
IO-1 connector instance.
DigitalIn ConnectorDI6
DI-6 connector instance.
CcioBoardManager & CcioMgr
CCIO-8 manager.
ClearCore I/O Expansion Board Manager Class.
Definition: CcioBoardManager.h:91
ClearCore Digital Output Connector class.
ClearCore Position Sensor Decoder.
Definition: EncoderInput.h:54
DigitalIn ConnectorDI7
DI-7 connector instance.
DigitalInOut ConnectorIO3
IO-3 connector instance.
DigitalInAnalogIn ConnectorA10
A-10 connector instance.
ClearCore Ethernet configuration manager.
Definition: EthernetManager.h:56
Connector class for analog and digital inputs.
DigitalInOutHBridge ConnectorIO5
IO-5 connector instance.
ClearCore XBee Interface.
Definition: XBeeDriver.h:45
ClearCore motor connector class.
Definition: MotorDriver.h:79
MotorDriver ConnectorM0
M-0 connector instance.
LedDriver ConnectorLed
User-driven LED instance.
ClearCore encoder input object.
InputManager & InputMgr
Input manager.
DigitalInOut ConnectorIO2
IO-2 connector instance.
Namespace to encompass the ClearCore board API.
Definition: AdcManager.h:36
ADC Peripheral Manager for the ClearCore Board.
Definition: AdcManager.h:48
ClearCore SD card interface.
Definition: SdCardDriver.h:45
DigitalInAnalogIn ConnectorA12
A-12 connector instance.
ClearCore Status Register Manager class.
Definition: StatusManager.h:37
EthernetManager & EthernetMgr
Ethernet manager.
MotorDriver ConnectorM3
M-3 connector instance.
DigitalInOutHBridge ConnectorIO4
IO-4 connector instance.
SysManager SysMgr
System manager.
Definition: MotorDriver.h:59
ClearCore Digital Input Connector class.
SdCardDriver SdCard
SD card.
ClearCore LED control class.
Definition: LedDriver.h:46
DigitalInAnalogIn ConnectorA11
A-11 connector instance.
ClearCore Serial UART/SPI Connector class.
Definition: SerialDriver.h:55
ClearCore analog input connector class.
Definition: DigitalInAnalogIn.h:58
ClearCore timing profiling utility functions.
ADC Peripheral Manager for the ClearCore Board.
DigitalInOutAnalogOut ConnectorIO0
IO-0 connector instance.
ClearCore input state access.
Definition: InputManager.h:48
DigitalInOutHBridge Connector class for IO4 and IO5.
MotorDriver ConnectorM2
M-2 connector instance.
ClearCore Analog Output Connector class.
ClearCore digital output connector class.
Definition: DigitalInOut.h:60
ClearCore Board Supervisory System Manager.
Definition: SysManager.h:58
XBeeDriver XBee
Xbee wireless.
ClearCore motor-connector manager.
Definition: MotorManager.h:46
DigitalInAnalogIn ConnectorA9
A-9 connector instance.
SerialDriver ConnectorCOM1
COM-1 connector instance.
SerialDriver ConnectorCOM0
COM-0 connector instance.
ClearCore H-Bridge digital output connector class.
Definition: DigitalInOutHBridge.h:66