47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#ifndef __ICSNEO_IO_H_
|
|
#define __ICSNEO_IO_H_
|
|
|
|
typedef struct _neomiscio_t {
|
|
size_t number;
|
|
bool supportsDigitalIn;
|
|
bool supportsDigitalOut;
|
|
bool supportsAnalogIn;
|
|
#ifdef __cplusplus
|
|
_neomiscio_t(size_t n, bool dIn = false, bool dOut = false, bool aIn = false)
|
|
: number(n), supportsDigitalIn(dIn), supportsDigitalOut(dOut), supportsAnalogIn(aIn) {}
|
|
#endif
|
|
} neomiscio_t;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
namespace icsneo {
|
|
|
|
using MiscIO = neomiscio_t;
|
|
|
|
enum class IO {
|
|
EthernetActivation = 0, // The DoIP activation line, 0 is HiZ and 1 is pulled up to VBAT
|
|
USBHostPower = 1,
|
|
BackupPowerEnabled = 2, // The FIRE 2's backup super capacitor
|
|
BackupPowerGood = 3, // Whether or not the FIRE 2's backup super capacitor is charged (read only)
|
|
Misc = 4, // General purpose IO on the device
|
|
EMisc = 5, // Extended general purpose IO on the device
|
|
};
|
|
|
|
// Note that the C API does a static cast between this and neoio_t so keep them in sync!
|
|
|
|
}
|
|
|
|
#endif // __cplusplus
|
|
|
|
#ifdef __ICSNEOC_H_
|
|
typedef enum _neoio_t {
|
|
ICSNEO_IO_ETH_ACTIVATION = (0),
|
|
ICSNEO_IO_USB_HOST_POWER = (1),
|
|
ICSNEO_IO_BACKUP_POWER_EN = (2),
|
|
ICSNEO_IO_BACKUP_POWER_GOOD = (3),
|
|
ICSNEO_IO_MISC = (4),
|
|
ICSNEO_IO_EMISC = (5),
|
|
} neoio_t;
|
|
#endif
|
|
|
|
#endif |