| |
| #ifndef __LoadOut_h__ |
| #define __LoadOut_h__ |
| |
| #ifdef SIMULATION |
| #include <vxWorks_compat.h> |
| #define EXPORT_FUNC __declspec(dllexport) __cdecl |
| #else |
| #include <stdint.h> |
| #define EXPORT_FUNC |
| #endif |
| |
| #define kMaxModuleNumber 2 |
| namespace nLoadOut { |
| #if defined(SIMULATION) |
| typedef enum { |
| kModuleType_Unknown = 0x00, |
| kModuleType_Analog = 0x01, |
| kModuleType_Digital = 0x02, |
| kModuleType_Solenoid = 0x03, |
| } tModuleType; |
| bool EXPORT_FUNC |
| getModulePresence(tModuleType moduleType, uint8_t moduleNumber); |
| #endif |
| typedef enum { |
| kTargetClass_Unknown = 0x00, |
| kTargetClass_FRC1 = 0x10, |
| kTargetClass_FRC2 = 0x20, |
| kTargetClass_FRC3 = 0x30, |
| kTargetClass_RoboRIO = 0x40, |
| #if defined(SIMULATION) |
| kTargetClass_FRC2_Analog = kTargetClass_FRC2 | kModuleType_Analog, |
| kTargetClass_FRC2_Digital = kTargetClass_FRC2 | kModuleType_Digital, |
| kTargetClass_FRC2_Solenoid = kTargetClass_FRC2 | kModuleType_Solenoid, |
| #endif |
| kTargetClass_FamilyMask = 0xF0, |
| kTargetClass_ModuleMask = 0x0F, |
| } tTargetClass; |
| tTargetClass EXPORT_FUNC getTargetClass(); |
| } |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #if defined(SIMULATION) |
| uint32_t EXPORT_FUNC |
| FRC_NetworkCommunication_nLoadOut_getModulePresence(uint32_t moduleType, |
| uint8_t moduleNumber); |
| #endif |
| uint32_t EXPORT_FUNC FRC_NetworkCommunication_nLoadOut_getTargetClass(); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // __LoadOut_h__ |