diff --git a/.travis.yml b/.travis.yml index 5dfdc967f7..8c05491595 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,6 @@ cache: script: - python3.5 -m wpiformat -y 2018 -clang 5.0 - - python3.5 gen/wpilibj_frcnetcomm.py - git --no-pager diff --exit-code HEAD # Ensure formatter made no changes - ./gradlew --no-daemon --console=plain -PskipAthena :hal:halSharedLibrary :hal:halJNISharedLibrary :wpilibc:wpilibcSharedLibrary :wpilibj:jar - mkdir cmake-build && cd cmake-build && env CXX=g++-6 CC=gcc-6 cmake -DWITHOUT_ALLWPILIB=OFF .. && make diff --git a/build.gradle b/build.gradle index 2578558f9e..fbf48c05ba 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,9 @@ plugins { id 'base' id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '2.1' - id 'edu.wpi.first.NativeUtils' version '1.7.1' + id 'edu.wpi.first.NativeUtils' version '1.7.4' id 'edu.wpi.first.GradleJni' version '0.3.0' - id 'edu.wpi.first.GradleVsCode' version '0.4.1' + id 'edu.wpi.first.GradleVsCode' version '0.4.2' id 'idea' id 'com.gradle.build-scan' version '1.15.1' id 'net.ltgt.errorprone' version '0.0.15' apply false // For Java 8 diff --git a/docs/build.gradle b/docs/build.gradle index db86b5d833..f548d25b10 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -101,6 +101,7 @@ task generateJavaDocs(type: Javadoc) { options.addStringOption "tag", "pre:a:Pre-Condition" options.addStringOption('Xdoclint:accessibility,html,missing,reference,syntax') dependsOn project(':wpilibj').generateJavaVersion + dependsOn project(':hal').generateUsageReporting source project(':hal').sourceSets.main.java source project(':wpiutil').sourceSets.main.java source project(':cscore').sourceSets.main.java diff --git a/gen/wpilibj_frcnetcomm.py b/gen/wpilibj_frcnetcomm.py deleted file mode 100755 index aba587e9a7..0000000000 --- a/gen/wpilibj_frcnetcomm.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env python3 - -# This script generates the network communication interface for wpilibj. -# -# This script takes no arguments and should be invoked from either the gen -# directory or the root directory of the project. - -from datetime import date -import os -import re -import subprocess - - -# Check that the current directory is part of a Git repository -def in_git_repo(directory): - return subprocess.run(["git", "rev-parse"]).returncode == 0 - - -def main(): - if not in_git_repo("."): - print("Error: not invoked within a Git repository", file=sys.stderr) - sys.exit(1) - - # Handle running in either the root or gen directories - config_path = "." - if os.getcwd().rpartition(os.sep)[2] == "gen": - config_path = ".." - - output_name = config_path + \ - "/hal/src/generated/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java" - - # Set initial copyright year and get current year - year = "2016" - current_year = str(date.today().year) - - # Start writing output file - with open(output_name + ".tmp", "w") as temp: - # Write first line of comment - temp.write("/*") - for i in range(0, 76): - temp.write("-") - print("*/", file=temp) - - # Write second line of comment - temp.write("/* Copyright (c) ") - if year != current_year: - temp.write(year) - temp.write("-") - temp.write(current_year) - temp.write(" FIRST. All Rights Reserved.") - for i in range(0, 24): - temp.write(" ") - if year == current_year: - for i in range(0, 5): - temp.write(" ") - print("*/", file=temp) - - # Write rest of lines of comment - temp.write("""\ -/* Open Source Software - may be modified and shared by FRC teams. The code */ -/* must be accompanied by the FIRST BSD license file in the root directory of */ -/* the project. */ -/*""") - for i in range(0, 76): - temp.write("-") - print("*/", file=temp) - - # Write preamble - temp.write(""" -// Autogenerated by wpilibj_frcnetcomm.py. Do not manually edit this file. - -package edu.wpi.first.wpilibj.hal; - -/** - * JNI wrapper for library FRC_NetworkCommunication
. - */ -@SuppressWarnings({\"MethodName\", \"LineLength\"}) -public class FRCNetComm extends JNIWrapper { -""") - - # Read enums from C++ source files - first_enum = True - files = [ - "/ni-libraries/include/FRC_NetworkCommunication/LoadOut.h", - "/hal/src/main/native/include/hal/UsageReporting.h" - ] - for file_name in files: - with open(config_path + file_name, "r") as cpp_source: - while True: - # Read until an enum is encountered - line = "" - pos = -1 - while "enum" not in line: - line = cpp_source.readline() - if line == "": - break - - if line == "": - break - - # If "{" is on next line, read next line - if "{" not in line: - line = cpp_source.readline() - - # Write enum to output file as interface - values = [] - line = cpp_source.readline() - while "}" not in line: - if line == os.linesep: - values.append("") - elif line[0] != "#": - try: - values.append( - re.search("[^,]+", line.strip()).group()) - except AttributeError: - # Ignore lines that don't match value regex - pass - line = cpp_source.readline() - - # Extract enum name - name_start = 0 - for i, c in enumerate(line): - if c != " " and c != "}": - name_start = i - break - enum_name = line[name_start:len(line) - 2] - - # Write comment for interface name - # Only add newline if not the first enum - if first_enum == True: - first_enum = False - else: - temp.write(os.linesep) - temp.write(" /**" + os.linesep + " * ") - - # Splits camelcase string into words - enum_camel = re.findall( - r'[A-Z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))', enum_name) - temp.write(enum_camel[0] + " ") - for i in range(1, len(enum_camel)): - temp.write(enum_camel[i][0].lower() + \ - enum_camel[i][1:len(enum_camel[i])] + " ") - temp.write( - "from " + os.path.basename(file_name) + os.linesep + - " */" + os.linesep + - " @SuppressWarnings({\"TypeName\", \"PMD.ConstantsInInterface\"})" + os.linesep + \ - " public static final class " + enum_name + " {" + os.linesep + \ - " private " + enum_name + "() {" + os.linesep + " }" + os.linesep + os.linesep) - - # Write enum values - count = 0 - for value in values: - # Pass through empty lines - if value == "": - temp.write(os.linesep) - continue - - if "=" not in value: - value = value + " = " + str(count) - count += 1 - - # Add scoping for values from a different enum - if enum_name != "tModuleType" and "kModuleType" in value: - value = value.replace("kModuleType", - "tModuleType.kModuleType") - temp.write(" public static final int " + - value[0:len(value)] + ";" + os.linesep) - - # Write end of enum - print(" }", file=temp) - - # Write closing brace for file - print("}", file=temp) - - # Replace old output file - try: - os.remove(output_name) - except OSError: - pass - os.rename(output_name + ".tmp", output_name) - - -if __name__ == "__main__": - main() diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt index 0664f007d1..d43888a2d5 100644 --- a/hal/CMakeLists.txt +++ b/hal/CMakeLists.txt @@ -1,6 +1,28 @@ project(hal) +file(STRINGS src/generate/Instances.txt RAW_INSTANCES) +file(STRINGS src/generate/ResourceType.txt RAW_RESOURCE_TYPES) + +SET(usage_reporting_types_cpp "") +SET(usage_reporting_instances_cpp "") +SET(usage_reporting_types "") +SET(usage_reporting_instances "") + +foreach(ITEM ${RAW_INSTANCES}) + list(APPEND usage_reporting_instances_cpp " ${ITEM},") + list(APPEND usage_reporting_instances "\n public static final int ${ITEM};") +endforeach() + +foreach(ITEM ${RAW_RESOURCE_TYPES}) + list(APPEND usage_reporting_types_cpp " ${ITEM},") + list(APPEND usage_reporting_types "\n public static final int ${ITEM};") +endforeach() + +string(REPLACE ";" "\n" usage_reporting_types_cpp "${usage_reporting_types_cpp}") +string(REPLACE ";" "\n" usage_reporting_instances_cpp "${usage_reporting_instances_cpp}") + + # Java bindings if (NOT WITHOUT_JAVA) find_package(Java REQUIRED) @@ -8,12 +30,14 @@ if (NOT WITHOUT_JAVA) include(UseJava) set(CMAKE_JAVA_COMPILE_FLAGS "-Xlint:unchecked") + configure_file(src/generate/FRCNetComm.java.in FRCNetComm.java) + file(GLOB hal_shared_jni_src src/main/native/cpp/jni/*.cpp hal_sim_jni_src src/main/native/sim/jni/*.cpp) file(GLOB_RECURSE JAVA_SOURCES - src/generated/java/*.java + ${CMAKE_CURRENT_BINARY_DIR}/FRCNetComm.java src/main/java/*.java) set(CMAKE_JNI_TARGET true) @@ -44,11 +68,17 @@ else() target_sources(hal PRIVATE ${hal_sim_native_src} ${hal_sim_jni_src}) endif() +configure_file(src/generate/FRCUsageReporting.h.in gen/hal/FRCUsageReporting.h) + set_target_properties(hal PROPERTIES OUTPUT_NAME "wpiHal") target_include_directories(hal PUBLIC $ $) + +target_include_directories(hal PUBLIC + $ + $) target_link_libraries(hal PUBLIC wpiutil) set_property(TARGET hal PROPERTY FOLDER "libraries") @@ -65,6 +95,7 @@ endif() install(TARGETS hal EXPORT hal DESTINATION "${main_lib_dest}") install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/hal") +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gen DESTINATION "${include_dest}/hal") if (NOT WITHOUT_JAVA AND MSVC) install(TARGETS hal RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) diff --git a/hal/build.gradle b/hal/build.gradle index 8ec80455a2..bbcb06bc92 100644 --- a/hal/build.gradle +++ b/hal/build.gradle @@ -1,9 +1,65 @@ +def javaResourceFile = file("$buildDir/generated/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java") +def cppResourceFile = file("$buildDir/generated/headers/hal/FRCUsageReporting.h") + +def generateUsageReporting = tasks.register('generateUsageReporting') { + def javaBase = file('src/generate/FRCNetComm.java.in') + def cppBase = file('src/generate/FRCUsageReporting.h.in') + + def instances = file('src/generate/Instances.txt') + def resourceType = file('src/generate/ResourceType.txt') + + inputs.file(javaBase) + inputs.file(cppBase) + inputs.file(instances) + inputs.file(resourceType) + + outputs.file(javaResourceFile) + outputs.file(cppResourceFile) + + doLast { + def instanceTextJava = instances as String[] + def instanceTextCpp = instances as String[] + def resourceTextJava = resourceType as String[] + def resourceTextCpp = resourceType as String[] + + instanceTextJava = instanceTextJava.collect { + " public static final int ${it};" + }.join('\n') + + instanceTextCpp = instanceTextCpp.collect { + " ${it}," + }.join('\n') + + resourceTextJava = resourceTextJava.collect { + " public static final int ${it};" + }.join('\n') + + resourceTextCpp = resourceTextCpp.collect { + " ${it}," + }.join('\n') + + javaResourceFile.text = javaBase.text.replace('${usage_reporting_types}', resourceTextJava).replace('${usage_reporting_instances}', instanceTextJava) + cppResourceFile.text = cppBase.text.replace('${usage_reporting_types_cpp}', resourceTextCpp).replace('${usage_reporting_instances_cpp}', instanceTextCpp) + } +} + ext { + addHalDependency = { binary, shared-> + binary.tasks.withType(AbstractNativeSourceCompileTask) { + it.dependsOn generateUsageReporting + } + binary.lib project: ':hal', library: 'hal', linkage: shared + } + nativeName = 'hal' setBaseName = 'wpiHal' devMain = 'DevMain' niLibraries = true + generatedHeaders = "$buildDir/generated/headers" splitSetup = { + it.tasks.withType(AbstractNativeSourceCompileTask) { + it.dependsOn generateUsageReporting + } if (it.targetPlatform.architecture.name == 'athena') { it.sources { athenaCpp(CppSourceSet) { @@ -12,7 +68,8 @@ ext { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/main/native/include' + srcDir 'src/main/native/include' + srcDir generatedHeaders } } } @@ -24,7 +81,8 @@ ext { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/main/native/include' + srcDir 'src/main/native/include' + srcDir generatedHeaders } } } @@ -35,6 +93,12 @@ ext { apply from: "${rootDir}/shared/jni/setupBuild.gradle" apply from: 'simjni.gradle' +sourceSets.main.java.srcDir "${buildDir}/generated/java/" + +compileJava { + dependsOn generateUsageReporting +} + cppSourcesZip { from('src/main/native/athena') { into '/athena' @@ -51,6 +115,12 @@ cppSourcesZip { dependsOn generateAthenaSimFiles } +cppHeadersZip { + from(generatedHeaders) { + into '/hal' + } +} + model { // Exports config is a utility to enable exporting all symbols in a C++ library on windows to a DLL. // This removes the need for DllExport on a library. However, the gradle C++ builder has a bug @@ -89,5 +159,3 @@ model { } } } - -sourceSets.main.java.srcDir "$projectDir/src/generated/java/" diff --git a/hal/src/generate/FRCNetComm.java.in b/hal/src/generate/FRCNetComm.java.in new file mode 100644 index 0000000000..1d02804486 --- /dev/null +++ b/hal/src/generate/FRCNetComm.java.in @@ -0,0 +1,33 @@ +/* + * Autogenerated file! Do not manually edit this file. + */ + +package edu.wpi.first.wpilibj.hal; + +/** + * JNI wrapper for library FRC_NetworkCommunication
. + */ +@SuppressWarnings({"MethodName", "LineLength"}) +public class FRCNetComm { + /** + * Resource type from UsageReporting. + */ + @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) + public static final class tResourceType { + private tResourceType() { + } + +${usage_reporting_types} + } + + /** + * Instances from UsageReporting. + */ + @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) + public static final class tInstances { + private tInstances() { + } + +${usage_reporting_instances} + } +} diff --git a/hal/src/generate/FRCUsageReporting.h.in b/hal/src/generate/FRCUsageReporting.h.in new file mode 100644 index 0000000000..7cf8128171 --- /dev/null +++ b/hal/src/generate/FRCUsageReporting.h.in @@ -0,0 +1,14 @@ +#pragma once + +/* + * Autogenerated file! Do not manually edit this file. + */ + +namespace HALUsageReporting { + typedef enum { +${usage_reporting_types_cpp} + } tResourceType; + typedef enum { +${usage_reporting_instances_cpp} + } tInstances; +} diff --git a/hal/src/generate/Instances.txt b/hal/src/generate/Instances.txt new file mode 100644 index 0000000000..25fc463f7b --- /dev/null +++ b/hal/src/generate/Instances.txt @@ -0,0 +1,44 @@ +kLanguage_LabVIEW = 1 +kLanguage_CPlusPlus = 2 +kLanguage_Java = 3 +kLanguage_Python = 4 +kLanguage_DotNet = 5 +kCANPlugin_BlackJagBridge = 1 +kCANPlugin_2CAN = 2 +kFramework_Iterative = 1 +kFramework_Simple = 2 +kFramework_CommandControl = 3 +kFramework_Timed = 4 +kFramework_ROS = 5 +kFramework_RobotBuilder = 6 +kRobotDrive_ArcadeStandard = 1 +kRobotDrive_ArcadeButtonSpin = 2 +kRobotDrive_ArcadeRatioCurve = 3 +kRobotDrive_Tank = 4 +kRobotDrive_MecanumPolar = 5 +kRobotDrive_MecanumCartesian = 6 +kRobotDrive2_DifferentialArcade = 7 +kRobotDrive2_DifferentialTank = 8 +kRobotDrive2_DifferentialCurvature = 9 +kRobotDrive2_MecanumCartesian = 10 +kRobotDrive2_MecanumPolar = 11 +kRobotDrive2_KilloughCartesian = 12 +kRobotDrive2_KilloughPolar = 13 +kDriverStationCIO_Analog = 1 +kDriverStationCIO_DigitalIn = 2 +kDriverStationCIO_DigitalOut = 3 +kDriverStationEIO_Acceleration = 1 +kDriverStationEIO_AnalogIn = 2 +kDriverStationEIO_AnalogOut = 3 +kDriverStationEIO_Button = 4 +kDriverStationEIO_LED = 5 +kDriverStationEIO_DigitalIn = 6 +kDriverStationEIO_DigitalOut = 7 +kDriverStationEIO_FixedDigitalOut = 8 +kDriverStationEIO_PWM = 9 +kDriverStationEIO_Encoder = 10 +kDriverStationEIO_TouchSlider = 11 +kADXL345_SPI = 1 +kADXL345_I2C = 2 +kCommand_Scheduler = 1 +kSmartDashboard_Instance = 1 diff --git a/hal/src/generate/ResourceType.txt b/hal/src/generate/ResourceType.txt new file mode 100644 index 0000000000..d563ef47e7 --- /dev/null +++ b/hal/src/generate/ResourceType.txt @@ -0,0 +1,82 @@ +kResourceType_Controller = 0 +kResourceType_Module = 1 +kResourceType_Language = 2 +kResourceType_CANPlugin = 3 +kResourceType_Accelerometer = 4 +kResourceType_ADXL345 = 5 +kResourceType_AnalogChannel = 6 +kResourceType_AnalogTrigger = 7 +kResourceType_AnalogTriggerOutput = 8 +kResourceType_CANJaguar = 9 +kResourceType_Compressor = 10 +kResourceType_Counter = 11 +kResourceType_Dashboard = 12 +kResourceType_DigitalInput = 13 +kResourceType_DigitalOutput = 14 +kResourceType_DriverStationCIO = 15 +kResourceType_DriverStationEIO = 16 +kResourceType_DriverStationLCD = 17 +kResourceType_Encoder = 18 +kResourceType_GearTooth = 19 +kResourceType_Gyro = 20 +kResourceType_I2C = 21 +kResourceType_Framework = 22 +kResourceType_Jaguar = 23 +kResourceType_Joystick = 24 +kResourceType_Kinect = 25 +kResourceType_KinectStick = 26 +kResourceType_PIDController = 27 +kResourceType_Preferences = 28 +kResourceType_PWM = 29 +kResourceType_Relay = 30 +kResourceType_RobotDrive = 31 +kResourceType_SerialPort = 32 +kResourceType_Servo = 33 +kResourceType_Solenoid = 34 +kResourceType_SPI = 35 +kResourceType_Task = 36 +kResourceType_Ultrasonic = 37 +kResourceType_Victor = 38 +kResourceType_Button = 39 +kResourceType_Command = 40 +kResourceType_AxisCamera = 41 +kResourceType_PCVideoServer = 42 +kResourceType_SmartDashboard = 43 +kResourceType_Talon = 44 +kResourceType_HiTechnicColorSensor = 45 +kResourceType_HiTechnicAccel = 46 +kResourceType_HiTechnicCompass = 47 +kResourceType_SRF08 = 48 +kResourceType_AnalogOutput = 49 +kResourceType_VictorSP = 50 +kResourceType_PWMTalonSRX = 51 +kResourceType_CANTalonSRX = 52 +kResourceType_ADXL362 = 53 +kResourceType_ADXRS450 = 54 +kResourceType_RevSPARK = 55 +kResourceType_MindsensorsSD540 = 56 +kResourceType_DigitalGlitchFilter = 57 +kResourceType_ADIS16448 = 58 +kResourceType_PDP = 59 +kResourceType_PCM = 60 +kResourceType_PigeonIMU = 61 +kResourceType_NidecBrushless = 62 +kResourceType_CANifier = 63 +kResourceType_CTRE_future0 = 64 +kResourceType_CTRE_future1 = 65 +kResourceType_CTRE_future2 = 66 +kResourceType_CTRE_future3 = 67 +kResourceType_CTRE_future4 = 68 +kResourceType_CTRE_future5 = 69 +kResourceType_CTRE_future6 = 70 +kResourceType_LinearFilter = 71 +kResourceType_XboxController = 72 +kResourceType_UsbCamera = 73 +kResourceType_NavX = 74 +kResourceType_Pixy = 75 +kResourceType_Pixy2 = 76 +kResourceType_ScanseSweep = 77 +kResourceType_Shuffleboard = 78 +kResourceType_CAN = 79 +kResourceType_DigilentDMC60 = 80 +kResourceType_PWMVictorSPX = 81 diff --git a/hal/src/generated/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java b/hal/src/generated/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java deleted file mode 100644 index 7c1ea2080a..0000000000 --- a/hal/src/generated/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java +++ /dev/null @@ -1,204 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* Copyright (c) 2016-2018 FIRST. All Rights Reserved. */ -/* Open Source Software - may be modified and shared by FRC teams. The code */ -/* must be accompanied by the FIRST BSD license file in the root directory of */ -/* the project. */ -/*----------------------------------------------------------------------------*/ - -// Autogenerated by wpilibj_frcnetcomm.py. Do not manually edit this file. - -package edu.wpi.first.wpilibj.hal; - -/** - * JNI wrapper for library FRC_NetworkCommunication
. - */ -@SuppressWarnings({"MethodName", "LineLength"}) -public class FRCNetComm extends JNIWrapper { - /** - * Module type from LoadOut.h - */ - @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) - public static final class tModuleType { - private tModuleType() { - } - - public static final int kModuleType_Unknown = 0x00; - public static final int kModuleType_Analog = 0x01; - public static final int kModuleType_Digital = 0x02; - public static final int kModuleType_Solenoid = 0x03; - } - - /** - * Target class from LoadOut.h - */ - @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) - public static final class tTargetClass { - private tTargetClass() { - } - - public static final int kTargetClass_Unknown = 0x00; - public static final int kTargetClass_FRC1 = 0x10; - public static final int kTargetClass_FRC2 = 0x20; - public static final int kTargetClass_FRC3 = 0x30; - public static final int kTargetClass_RoboRIO = 0x40; - public static final int kTargetClass_FRC2_Analog = kTargetClass_FRC2 | tModuleType.kModuleType_Analog; - public static final int kTargetClass_FRC2_Digital = kTargetClass_FRC2 | tModuleType.kModuleType_Digital; - public static final int kTargetClass_FRC2_Solenoid = kTargetClass_FRC2 | tModuleType.kModuleType_Solenoid; - public static final int kTargetClass_FamilyMask = 0xF0; - public static final int kTargetClass_ModuleMask = 0x0F; - } - - /** - * Resource type from UsageReporting.h - */ - @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) - public static final class tResourceType { - private tResourceType() { - } - - public static final int kResourceType_Controller = 0; - public static final int kResourceType_Module = 1; - public static final int kResourceType_Language = 2; - public static final int kResourceType_CANPlugin = 3; - public static final int kResourceType_Accelerometer = 4; - public static final int kResourceType_ADXL345 = 5; - public static final int kResourceType_AnalogChannel = 6; - public static final int kResourceType_AnalogTrigger = 7; - public static final int kResourceType_AnalogTriggerOutput = 8; - public static final int kResourceType_CANJaguar = 9; - public static final int kResourceType_Compressor = 10; - public static final int kResourceType_Counter = 11; - public static final int kResourceType_Dashboard = 12; - public static final int kResourceType_DigitalInput = 13; - public static final int kResourceType_DigitalOutput = 14; - public static final int kResourceType_DriverStationCIO = 15; - public static final int kResourceType_DriverStationEIO = 16; - public static final int kResourceType_DriverStationLCD = 17; - public static final int kResourceType_Encoder = 18; - public static final int kResourceType_GearTooth = 19; - public static final int kResourceType_Gyro = 20; - public static final int kResourceType_I2C = 21; - public static final int kResourceType_Framework = 22; - public static final int kResourceType_Jaguar = 23; - public static final int kResourceType_Joystick = 24; - public static final int kResourceType_Kinect = 25; - public static final int kResourceType_KinectStick = 26; - public static final int kResourceType_PIDController = 27; - public static final int kResourceType_Preferences = 28; - public static final int kResourceType_PWM = 29; - public static final int kResourceType_Relay = 30; - public static final int kResourceType_RobotDrive = 31; - public static final int kResourceType_SerialPort = 32; - public static final int kResourceType_Servo = 33; - public static final int kResourceType_Solenoid = 34; - public static final int kResourceType_SPI = 35; - public static final int kResourceType_Task = 36; - public static final int kResourceType_Ultrasonic = 37; - public static final int kResourceType_Victor = 38; - public static final int kResourceType_Button = 39; - public static final int kResourceType_Command = 40; - public static final int kResourceType_AxisCamera = 41; - public static final int kResourceType_PCVideoServer = 42; - public static final int kResourceType_SmartDashboard = 43; - public static final int kResourceType_Talon = 44; - public static final int kResourceType_HiTechnicColorSensor = 45; - public static final int kResourceType_HiTechnicAccel = 46; - public static final int kResourceType_HiTechnicCompass = 47; - public static final int kResourceType_SRF08 = 48; - public static final int kResourceType_AnalogOutput = 49; - public static final int kResourceType_VictorSP = 50; - public static final int kResourceType_PWMTalonSRX = 51; - public static final int kResourceType_CANTalonSRX = 52; - public static final int kResourceType_ADXL362 = 53; - public static final int kResourceType_ADXRS450 = 54; - public static final int kResourceType_RevSPARK = 55; - public static final int kResourceType_MindsensorsSD540 = 56; - public static final int kResourceType_DigitalGlitchFilter = 57; - public static final int kResourceType_ADIS16448 = 58; - public static final int kResourceType_PDP = 59; - public static final int kResourceType_PCM = 60; - public static final int kResourceType_PigeonIMU = 61; - public static final int kResourceType_NidecBrushless = 62; - public static final int kResourceType_CANifier = 63; - public static final int kResourceType_CTRE_future0 = 64; - public static final int kResourceType_CTRE_future1 = 65; - public static final int kResourceType_CTRE_future2 = 66; - public static final int kResourceType_CTRE_future3 = 67; - public static final int kResourceType_CTRE_future4 = 68; - public static final int kResourceType_CTRE_future5 = 69; - public static final int kResourceType_CTRE_future6 = 70; - public static final int kResourceType_LinearFilter = 71; - public static final int kResourceType_XboxController = 72; - public static final int kResourceType_UsbCamera = 73; - public static final int kResourceType_NavX = 74; - public static final int kResourceType_Pixy = 75; - public static final int kResourceType_Pixy2 = 76; - public static final int kResourceType_ScanseSweep = 77; - public static final int kResourceType_Shuffleboard = 78; - public static final int kResourceType_CAN = 79; - public static final int kResourceType_DigilentDMC60 = 80; - public static final int kResourceType_PWMVictorSPX = 81; - } - - /** - * Instances from UsageReporting.h - */ - @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"}) - public static final class tInstances { - private tInstances() { - } - - public static final int kLanguage_LabVIEW = 1; - public static final int kLanguage_CPlusPlus = 2; - public static final int kLanguage_Java = 3; - public static final int kLanguage_Python = 4; - public static final int kLanguage_DotNet = 5; - - public static final int kCANPlugin_BlackJagBridge = 1; - public static final int kCANPlugin_2CAN = 2; - - public static final int kFramework_Iterative = 1; - public static final int kFramework_Simple = 2; - public static final int kFramework_CommandControl = 3; - public static final int kFramework_Timed = 4; - public static final int kFramework_ROS = 5; - public static final int kFramework_RobotBuilder = 6; - - public static final int kRobotDrive_ArcadeStandard = 1; - public static final int kRobotDrive_ArcadeButtonSpin = 2; - public static final int kRobotDrive_ArcadeRatioCurve = 3; - public static final int kRobotDrive_Tank = 4; - public static final int kRobotDrive_MecanumPolar = 5; - public static final int kRobotDrive_MecanumCartesian = 6; - public static final int kRobotDrive2_DifferentialArcade = 7; - public static final int kRobotDrive2_DifferentialTank = 8; - public static final int kRobotDrive2_DifferentialCurvature = 9; - public static final int kRobotDrive2_MecanumCartesian = 10; - public static final int kRobotDrive2_MecanumPolar = 11; - public static final int kRobotDrive2_KilloughCartesian = 12; - public static final int kRobotDrive2_KilloughPolar = 13; - - public static final int kDriverStationCIO_Analog = 1; - public static final int kDriverStationCIO_DigitalIn = 2; - public static final int kDriverStationCIO_DigitalOut = 3; - - public static final int kDriverStationEIO_Acceleration = 1; - public static final int kDriverStationEIO_AnalogIn = 2; - public static final int kDriverStationEIO_AnalogOut = 3; - public static final int kDriverStationEIO_Button = 4; - public static final int kDriverStationEIO_LED = 5; - public static final int kDriverStationEIO_DigitalIn = 6; - public static final int kDriverStationEIO_DigitalOut = 7; - public static final int kDriverStationEIO_FixedDigitalOut = 8; - public static final int kDriverStationEIO_PWM = 9; - public static final int kDriverStationEIO_Encoder = 10; - public static final int kDriverStationEIO_TouchSlider = 11; - - public static final int kADXL345_SPI = 1; - public static final int kADXL345_I2C = 2; - - public static final int kCommand_Scheduler = 1; - - public static final int kSmartDashboard_Instance = 1; - } -} diff --git a/hal/src/main/native/athena/HAL.cpp b/hal/src/main/native/athena/HAL.cpp index 68cfc8cca3..2fc49a20c2 100644 --- a/hal/src/main/native/athena/HAL.cpp +++ b/hal/src/main/native/athena/HAL.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include #include diff --git a/hal/src/main/native/include/hal/HAL.h b/hal/src/main/native/include/hal/HAL.h index b3122904b1..eafe7885ed 100644 --- a/hal/src/main/native/include/hal/HAL.h +++ b/hal/src/main/native/include/hal/HAL.h @@ -41,9 +41,7 @@ #include "hal/Types.h" #ifdef __cplusplus -#include "UsageReporting.h" - -namespace HALUsageReporting = nUsageReporting; +#include "hal/FRCUsageReporting.h" #endif /** diff --git a/hal/src/main/native/include/hal/UsageReporting.h b/hal/src/main/native/include/hal/UsageReporting.h deleted file mode 100644 index 825daf2645..0000000000 --- a/hal/src/main/native/include/hal/UsageReporting.h +++ /dev/null @@ -1,183 +0,0 @@ -#ifndef __UsageReporting_h__ -#define __UsageReporting_h__ - -#ifdef _WIN32 -#include -#define EXPORT_FUNC __declspec(dllexport) __cdecl -#elif defined (__vxworks) -#include -#define EXPORT_FUNC -#else -#include -#include -#define EXPORT_FUNC -#endif - -#define kUsageReporting_version 1 - -namespace nUsageReporting -{ - typedef enum - { - kResourceType_Controller, - kResourceType_Module, - kResourceType_Language, - kResourceType_CANPlugin, - kResourceType_Accelerometer, - kResourceType_ADXL345, - kResourceType_AnalogChannel, - kResourceType_AnalogTrigger, - kResourceType_AnalogTriggerOutput, - kResourceType_CANJaguar, - kResourceType_Compressor, // 10 - kResourceType_Counter, - kResourceType_Dashboard, - kResourceType_DigitalInput, - kResourceType_DigitalOutput, - kResourceType_DriverStationCIO, - kResourceType_DriverStationEIO, - kResourceType_DriverStationLCD, - kResourceType_Encoder, - kResourceType_GearTooth, - kResourceType_Gyro, // 20 - kResourceType_I2C, - kResourceType_Framework, - kResourceType_Jaguar, - kResourceType_Joystick, - kResourceType_Kinect, - kResourceType_KinectStick, - kResourceType_PIDController, - kResourceType_Preferences, - kResourceType_PWM, - kResourceType_Relay, // 30 - kResourceType_RobotDrive, - kResourceType_SerialPort, - kResourceType_Servo, - kResourceType_Solenoid, - kResourceType_SPI, - kResourceType_Task, - kResourceType_Ultrasonic, - kResourceType_Victor, - kResourceType_Button, - kResourceType_Command, // 40 - kResourceType_AxisCamera, - kResourceType_PCVideoServer, - kResourceType_SmartDashboard, - kResourceType_Talon, - kResourceType_HiTechnicColorSensor, - kResourceType_HiTechnicAccel, - kResourceType_HiTechnicCompass, - kResourceType_SRF08, - kResourceType_AnalogOutput, - kResourceType_VictorSP, // 50 - kResourceType_PWMTalonSRX, - kResourceType_CANTalonSRX, - kResourceType_ADXL362, - kResourceType_ADXRS450, - kResourceType_RevSPARK, - kResourceType_MindsensorsSD540, - kResourceType_DigitalGlitchFilter, - kResourceType_ADIS16448, - kResourceType_PDP, - kResourceType_PCM, // 60 - kResourceType_PigeonIMU, - kResourceType_NidecBrushless, - kResourceType_CANifier, - kResourceType_CTRE_future0, - kResourceType_CTRE_future1, - kResourceType_CTRE_future2, - kResourceType_CTRE_future3, - kResourceType_CTRE_future4, - kResourceType_CTRE_future5, - kResourceType_CTRE_future6, // 70 - kResourceType_LinearFilter, - kResourceType_XboxController, - kResourceType_UsbCamera, - kResourceType_NavX, - kResourceType_Pixy, - kResourceType_Pixy2, - kResourceType_ScanseSweep, - kResourceType_Shuffleboard, - kResourceType_CAN, - kResourceType_DigilentDMC60, // 80 - kResourceType_PWMVictorSPX, - } tResourceType; - - typedef enum - { - kLanguage_LabVIEW = 1, - kLanguage_CPlusPlus = 2, - kLanguage_Java = 3, - kLanguage_Python = 4, - kLanguage_DotNet = 5, - - kCANPlugin_BlackJagBridge = 1, - kCANPlugin_2CAN = 2, - - kFramework_Iterative = 1, - kFramework_Simple = 2, - kFramework_CommandControl = 3, - kFramework_Timed = 4, - kFramework_ROS = 5, - kFramework_RobotBuilder = 6, - - kRobotDrive_ArcadeStandard = 1, - kRobotDrive_ArcadeButtonSpin = 2, - kRobotDrive_ArcadeRatioCurve = 3, - kRobotDrive_Tank = 4, - kRobotDrive_MecanumPolar = 5, - kRobotDrive_MecanumCartesian = 6, - kRobotDrive2_DifferentialArcade = 7, - kRobotDrive2_DifferentialTank = 8, - kRobotDrive2_DifferentialCurvature = 9, - kRobotDrive2_MecanumCartesian = 10, - kRobotDrive2_MecanumPolar = 11, - kRobotDrive2_KilloughCartesian = 12, - kRobotDrive2_KilloughPolar = 13, - - kDriverStationCIO_Analog = 1, - kDriverStationCIO_DigitalIn = 2, - kDriverStationCIO_DigitalOut = 3, - - kDriverStationEIO_Acceleration = 1, - kDriverStationEIO_AnalogIn = 2, - kDriverStationEIO_AnalogOut = 3, - kDriverStationEIO_Button = 4, - kDriverStationEIO_LED = 5, - kDriverStationEIO_DigitalIn = 6, - kDriverStationEIO_DigitalOut = 7, - kDriverStationEIO_FixedDigitalOut = 8, - kDriverStationEIO_PWM = 9, - kDriverStationEIO_Encoder = 10, - kDriverStationEIO_TouchSlider = 11, - - kADXL345_SPI = 1, - kADXL345_I2C = 2, - - kCommand_Scheduler = 1, - - kSmartDashboard_Instance = 1, - } tInstances; - - /** - * Report the usage of a resource of interest. - * - * @param resource one of the values in the tResourceType above (max value 51). - * @param instanceNumber an index that identifies the resource instance. - * @param context an optional additional context number for some cases (such as module number). Set to 0 to omit. - * @param feature a string to be included describing features in use on a specific resource. Setting the same resource more than once allows you to change the feature string. - */ - uint32_t EXPORT_FUNC report(tResourceType resource, uint8_t instanceNumber, uint8_t context = 0, const char *feature = NULL); -} - -#ifdef __cplusplus -extern "C" { -#endif - - uint32_t EXPORT_FUNC FRC_NetworkCommunication_nUsageReporting_report(uint8_t resource, uint8_t instanceNumber, uint8_t context, const char *feature); - -#ifdef __cplusplus -} -#endif - -#endif // __UsageReporting_h__ diff --git a/myRobot/build.gradle b/myRobot/build.gradle index 480bf323f1..c4fa398058 100644 --- a/myRobot/build.gradle +++ b/myRobot/build.gradle @@ -18,6 +18,14 @@ ext { skipDev = true } +ext { + chipObjectComponents = ['myRobotCpp', 'myRobotCppStatic'] + netCommComponents = ['myRobotCpp', 'myRobotCppStatic'] + useNiJava = true +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + apply from: "${rootDir}/shared/opencv.gradle" mainClassName = 'Main' @@ -61,10 +69,9 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(binary, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(binary) } } myRobotCppStatic(NativeExecutableSpec) { @@ -85,10 +92,9 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'static' lib project: ':ntcore', library: 'ntcore', linkage: 'static' lib project: ':cscore', library: 'cscore', linkage: 'static' - lib project: ':hal', library: 'hal', linkage: 'static' + project(':hal').addHalDependency(binary, 'static') lib project: ':wpiutil', library: 'wpiutil', linkage: 'static' lib project: ':cameraserver', library: 'cameraserver', linkage: 'static' - project(':ni-libraries').addNiLibrariesToLinker(binary) } } } diff --git a/ni-libraries/FileLocations.txt b/ni-libraries/FileLocations.txt deleted file mode 100644 index c93e51ebd6..0000000000 --- a/ni-libraries/FileLocations.txt +++ /dev/null @@ -1,10 +0,0 @@ -libFRC_NetworkCommunication.so - \usr\local\frc\lib -libi2c.so - \usr\local\frc\lib -libNiFpga.so - \usr\local\natinst\lib -libNiFpgaLv.so - \usr\local\natinst\lib -libniriodevenum.so - \usr\local\natinst\lib -libniriosession.so - \usr\local\natinst\lib -libNiRioSrv.so - \usr\local\natinst\lib -libRoboRIO_FRC_ChipObject.so - \usr\local\frc\lib -libspi.so - \usr\local\frc\lib -libvisa.so - \usr\local\vxipnp\linux\lib\ diff --git a/ni-libraries/build.gradle b/ni-libraries/build.gradle deleted file mode 100644 index 8276c7f562..0000000000 --- a/ni-libraries/build.gradle +++ /dev/null @@ -1,111 +0,0 @@ -import edu.wpi.first.nativeutils.* -import org.gradle.internal.os.OperatingSystem -import org.apache.tools.ant.filters.*; - -public class NiDependencySet implements NativeDependencySet { - private Project m_project - - public NiDependencySet(Project project) { - m_project = project - } - - public FileCollection getIncludeRoots() { - return m_project.files("${m_project.projectDir}/include") - } - - private FileCollection getFiles() { - def f = m_project.fileTree("${m_project.projectDir}/lib").filter { it.isFile() } - return f - } - - public FileCollection getLinkFiles() { - return getFiles() - } - - public FileCollection getRuntimeFiles() { - return m_project.files() - } -} - -ext.addNiLibrariesToLinker = { binary -> - if (binary.targetPlatform.architecture.name == 'athena') { - binary.lib(new NiDependencySet(project)) - } -} - -def outputsFolder = file("$project.buildDir/outputs") - -def niLibBaseName = '_GROUP_edu_wpi_first_ni-libraries_ID_ni-libraries_CLS' - -task libZip(type: Zip) { - destinationDir = outputsFolder - baseName = niLibBaseName - classifier = "linuxathena" - - from('lib') { - into '/linux/athena/shared/' - } -} - -task headersZip(type: Zip) { - destinationDir = outputsFolder - baseName = niLibBaseName - classifier = "headers" - - from('include') { - into '/' - } -} - -task build() {} - -build.dependsOn headersZip -build.dependsOn libZip - -addTaskToCopyAllOutputs(headersZip) -addTaskToCopyAllOutputs(libZip) - -apply from: 'publish.gradle' - -task patchNiLibraries() { - doLast { - // Patch ChipObject headers to be self contained - FileTree chipTree = fileTree(dir: "$rootDir/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace") - chipTree.each { File file -> - String contents = file.getText('UTF-8') - contents = contents.replaceAll('#include \"tSystemInterface.h\"', '#include \"../tSystem.h\"\n#include \"../tSystemInterface.h\"') - file.write(contents, 'UTF-8') - } - - // Patch NetComm headers to work on Windows - FileTree netTree = fileTree(dir: "$rootDir/ni-libraries/include/FRC_NetworkCommunication") - netTree.each { File file -> - String contents = file.getText('UTF-8') - contents = contents.replaceAll('#ifdef WIN32', '#ifdef _WIN32') - contents = contents.replaceAll('# include ', '#include ') - contents = contents.replaceAll('#include ', '#include ') - file.write(contents, 'UTF-8') - } - - FileTree allTree = fileTree(dir: "$rootDir/ni-libraries/include/") - allTree.each { File file -> - String contents = file.getText('UTF-8') - contents = contents.replaceAll('\r\n', '\n') - file.write(contents, 'UTF-8') - } - - // Move UsageReporting header to the HAL, because it is necessary for our - // UsageReporting in WPILibC. - - copy { - from("$rootDir/ni-libraries/include/FRC_NetworkCommunication") { - include 'UsageReporting.h' - } - into "$rootDir/hal/src/main/native/include/HAL" - } - - delete { - delete "$rootDir/ni-libraries/include/FRC_NetworkCommunication/UsageReporting.h" - } - } -} diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/RoboRIO_FRC_ChipObject_Aliases.h b/ni-libraries/include/FRC_FPGA_ChipObject/RoboRIO_FRC_ChipObject_Aliases.h deleted file mode 100644 index 0726f927b1..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/RoboRIO_FRC_ChipObject_Aliases.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __RoboRIO_FRC_ChipObject_Aliases_h__ -#define __RoboRIO_FRC_ChipObject_Aliases_h__ - -#define nRoboRIO_FPGANamespace nFRC_2018_18_0_8 - -#endif // __RoboRIO_FRC_ChipObject_Aliases_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/fpgainterfacecapi/NiFpga.h b/ni-libraries/include/FRC_FPGA_ChipObject/fpgainterfacecapi/NiFpga.h deleted file mode 100644 index 1ecbc5d5b8..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/fpgainterfacecapi/NiFpga.h +++ /dev/null @@ -1,2807 +0,0 @@ -/* - * FPGA Interface C API 17.0 header file. - * - * Copyright (c) 2017, - * National Instruments Corporation. - * All rights reserved. - */ - -#ifndef __NiFpga_h__ -#define __NiFpga_h__ - -/* - * Determine platform details. - */ -#if defined(_M_IX86) \ - || defined(_M_X64) \ - || defined(_M_AMD64) \ - || defined(i386) \ - || defined(__i386) \ - || defined(__i386__) \ - || defined(__i486__) \ - || defined(__i586__) \ - || defined(__i686__) \ - || defined(__amd64__) \ - || defined(__amd64) \ - || defined(__x86_64__) \ - || defined(__x86_64) \ - || defined(__IA32__) \ - || defined(_X86_) \ - || defined(__THW_INTEL__) \ - || defined(__I86__) \ - || defined(__INTEL__) \ - || defined(__X86__) \ - || defined(__386__) \ - || defined(__I86__) \ - || defined(M_I386) \ - || defined(M_I86) \ - || defined(_M_I386) \ - || defined(_M_I86) - #if defined(_WIN32) \ - || defined(_WIN64) \ - || defined(__WIN32__) \ - || defined(__TOS_WIN__) \ - || defined(__WINDOWS__) \ - || defined(_WINDOWS) \ - || defined(__WINDOWS_386__) \ - || defined(__CYGWIN__) - /* Either Windows or Phar Lap ETS. */ - #define NiFpga_Windows 1 - #elif defined(__linux__) \ - || defined(__linux) \ - || defined(linux) \ - || defined(__gnu_linux__) - #define NiFpga_Linux 1 - #elif defined(__APPLE__) && defined(__MACH__) - #define NiFpga_MacOsX 1 - #else - #error Unsupported OS. - #endif -#elif defined(__powerpc) \ - || defined(__powerpc__) \ - || defined(__POWERPC__) \ - || defined(__ppc__) \ - || defined(__PPC) \ - || defined(_M_PPC) \ - || defined(_ARCH_PPC) \ - || defined(__PPC__) \ - || defined(__ppc) - #if defined(__vxworks) - #define NiFpga_VxWorks 1 - #else - #error Unsupported OS. - #endif -#elif defined(__arm__) \ - || defined(__thumb__) \ - || defined(__TARGET_ARCH_ARM) \ - || defined(__TARGET_ARCH_THUMB) \ - || defined(_ARM) \ - || defined(_M_ARM) \ - || defined(_M_ARMT) -#if defined(__linux__) \ - || defined(__linux) \ - || defined(linux) \ - || defined(__gnu_linux__) - #define NiFpga_Linux 1 -#else - #error Unsupported OS. - #endif -#else - #error Unsupported architecture. -#endif - -/* - * Determine compiler. - */ -#if defined(_MSC_VER) - #define NiFpga_Msvc 1 -#elif defined(__GNUC__) - #define NiFpga_Gcc 1 -#elif defined(_CVI_) && !defined(_TPC_) - #define NiFpga_Cvi 1 - /* Enables CVI Library Protection Errors. */ - #pragma EnableLibraryRuntimeChecking -#else - /* Unknown compiler. */ -#endif - -/* - * Determine compliance with different C/C++ language standards. - */ -#if defined(__cplusplus) - #define NiFpga_Cpp 1 - #if __cplusplus >= 199707L - #define NiFpga_Cpp98 1 - #if __cplusplus >= 201103L - #define NiFpga_Cpp11 1 - #endif - #endif -#endif -#if defined(__STDC__) - #define NiFpga_C89 1 - #if defined(__STDC_VERSION__) - #define NiFpga_C90 1 - #if __STDC_VERSION__ >= 199409L - #define NiFpga_C94 1 - #if __STDC_VERSION__ >= 199901L - #define NiFpga_C99 1 - #if __STDC_VERSION__ >= 201112L - #define NiFpga_C11 1 - #endif - #endif - #endif - #endif -#endif - -/* - * Determine ability to inline functions. - */ -#if NiFpga_Cpp || NiFpga_C99 - /* The inline keyword exists in C++ and C99. */ - #define NiFpga_Inline inline -#elif NiFpga_Msvc - /* Visual C++ (at least since 6.0) also supports an alternate keyword. */ - #define NiFpga_Inline __inline -#elif NiFpga_Gcc - /* GCC (at least since 2.95.2) also supports an alternate keyword. */ - #define NiFpga_Inline __inline__ -#elif !defined(NiFpga_Inline) - /* - * Disable inlining if inline support is unknown. To manually enable - * inlining, #define the following macro before #including NiFpga.h: - * - * #define NiFpga_Inline inline - */ - #define NiFpga_Inline -#endif - -/* - * Define exact-width integer types, if they have not already been defined. - */ -#if NiFpga_ExactWidthIntegerTypesDefined \ - || defined(_STDINT) \ - || defined(_STDINT_H) \ - || defined(_STDINT_H_) \ - || defined(_INTTYPES_H) \ - || defined(_INTTYPES_H_) \ - || defined(_SYS_STDINT_H) \ - || defined(_SYS_STDINT_H_) \ - || defined(_SYS_INTTYPES_H) \ - || defined(_SYS_INTTYPES_H_) \ - || defined(_STDINT_H_INCLUDED) \ - || defined(_MSC_STDINT_H_) \ - || defined(_PSTDINT_H_INCLUDED) - /* Assume that exact-width integer types have already been defined. */ -#elif NiFpga_VxWorks - /* VxWorks (at least 6.3 and earlier) did not have stdint.h. */ - #include -#elif NiFpga_C99 \ - || NiFpga_Gcc /* GCC (at least since 3.0) has a stdint.h. */ \ - || defined(HAVE_STDINT_H) - /* Assume that stdint.h can be included. */ - #include -#elif NiFpga_Msvc \ - || NiFpga_Cvi - /* Manually define exact-width integer types. */ - typedef signed char int8_t; - typedef unsigned char uint8_t; - typedef short int16_t; - typedef unsigned short uint16_t; - typedef int int32_t; - typedef unsigned int uint32_t; - typedef __int64 int64_t; - typedef unsigned __int64 uint64_t; -#else - /* - * Exact-width integer types must be defined by the user, and the following - * macro must be #defined, before #including NiFpga.h: - * - * #define NiFpga_ExactWidthIntegerTypesDefined 1 - */ - #error Exact-width integer types must be defined by the user. See comment. -#endif - -/* Included for definition of size_t. */ -#include - -#if NiFpga_Cpp -extern "C" -{ -#endif - -/** - * A boolean value; either NiFpga_False or NiFpga_True. - */ -typedef uint8_t NiFpga_Bool; - -/** - * Represents a false condition. - */ -static const NiFpga_Bool NiFpga_False = 0; - -/** - * Represents a true condition. - */ -static const NiFpga_Bool NiFpga_True = 1; - -/** - * Represents the resulting status of a function call through its return value. - * 0 is success, negative values are errors, and positive values are warnings. - */ -typedef int32_t NiFpga_Status; - -/** - * No errors or warnings. - */ -static const NiFpga_Status NiFpga_Status_Success = 0; - -/** - * The timeout expired before the FIFO operation could complete. - */ -static const NiFpga_Status NiFpga_Status_FifoTimeout = -50400; - -/** - * No transfer is in progress because the transfer was aborted by the client. - * The operation could not be completed as specified. - */ -static const NiFpga_Status NiFpga_Status_TransferAborted = -50405; - -/** - * A memory allocation failed. Try again after rebooting. - */ -static const NiFpga_Status NiFpga_Status_MemoryFull = -52000; - -/** - * An unexpected software error occurred. - */ -static const NiFpga_Status NiFpga_Status_SoftwareFault = -52003; - -/** - * A parameter to a function was not valid. This could be a NULL pointer, a bad - * value, etc. - */ -static const NiFpga_Status NiFpga_Status_InvalidParameter = -52005; - -/** - * A required resource was not found. The NiFpga.* library, the RIO resource, or - * some other resource may be missing. - */ -static const NiFpga_Status NiFpga_Status_ResourceNotFound = -52006; - -/** - * A required resource was not properly initialized. This could occur if - * NiFpga_Initialize was not called or a required NiFpga_IrqContext was not - * reserved. - */ -static const NiFpga_Status NiFpga_Status_ResourceNotInitialized = -52010; - -/** - * The FPGA is already running. - */ -static const NiFpga_Status NiFpga_Status_FpgaAlreadyRunning = -61003; - -/** - * An error occurred downloading the VI to the FPGA device. Verify that - * the target is connected and powered and that the resource of the target - * is properly configured. - */ -static const NiFpga_Status NiFpga_Status_DownloadError = -61018; - -/** - * The bitfile was not compiled for the specified resource's device type. - */ -static const NiFpga_Status NiFpga_Status_DeviceTypeMismatch = -61024; - -/** - * An error was detected in the communication between the host computer and the - * FPGA target. - */ -static const NiFpga_Status NiFpga_Status_CommunicationTimeout = -61046; - -/** - * The timeout expired before any of the IRQs were asserted. - */ -static const NiFpga_Status NiFpga_Status_IrqTimeout = -61060; - -/** - * The specified bitfile is invalid or corrupt. - */ -static const NiFpga_Status NiFpga_Status_CorruptBitfile = -61070; - -/** - * The requested FIFO depth is invalid. It is either 0 or an amount not - * supported by the hardware. - */ -static const NiFpga_Status NiFpga_Status_BadDepth = -61072; - -/** - * The number of FIFO elements is invalid. Either the number is greater than the - * depth of the host memory DMA FIFO, or more elements were requested for - * release than had been acquired. - */ -static const NiFpga_Status NiFpga_Status_BadReadWriteCount = -61073; - -/** - * A hardware clocking error occurred. A derived clock lost lock with its base - * clock during the execution of the LabVIEW FPGA VI. If any base clocks with - * derived clocks are referencing an external source, make sure that the - * external source is connected and within the supported frequency, jitter, - * accuracy, duty cycle, and voltage specifications. Also verify that the - * characteristics of the base clock match the configuration specified in the - * FPGA Base Clock Properties. If all base clocks with derived clocks are - * generated from free-running, on-board sources, please contact National - * Instruments technical support at ni.com/support. - */ -static const NiFpga_Status NiFpga_Status_ClockLostLock = -61083; - -/** - * The operation could not be performed because the FPGA is busy. Stop all - * activities on the FPGA before requesting this operation. If the target is in - * Scan Interface programming mode, put it in FPGA Interface programming mode. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusy = -61141; - -/** - * The operation could not be performed because the FPGA is busy operating in - * FPGA Interface C API mode. Stop all activities on the FPGA before requesting - * this operation. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyFpgaInterfaceCApi = -61200; - -/** - * The chassis is in Scan Interface programming mode. In order to run FPGA VIs, - * you must go to the chassis properties page, select FPGA programming mode, and - * deploy settings. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyScanInterface = -61201; - -/** - * The operation could not be performed because the FPGA is busy operating in - * FPGA Interface mode. Stop all activities on the FPGA before requesting this - * operation. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyFpgaInterface = -61202; - -/** - * The operation could not be performed because the FPGA is busy operating in - * Interactive mode. Stop all activities on the FPGA before requesting this - * operation. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyInteractive = -61203; - -/** - * The operation could not be performed because the FPGA is busy operating in - * Emulation mode. Stop all activities on the FPGA before requesting this - * operation. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyEmulation = -61204; - -/** - * LabVIEW FPGA does not support the Reset method for bitfiles that allow - * removal of implicit enable signals in single-cycle Timed Loops. - */ -static const NiFpga_Status NiFpga_Status_ResetCalledWithImplicitEnableRemoval = -61211; - -/** - * LabVIEW FPGA does not support the Abort method for bitfiles that allow - * removal of implicit enable signals in single-cycle Timed Loops. - */ -static const NiFpga_Status NiFpga_Status_AbortCalledWithImplicitEnableRemoval = -61212; - -/** - * LabVIEW FPGA does not support Close and Reset if Last Reference for bitfiles - * that allow removal of implicit enable signals in single-cycle Timed Loops. - * Pass the NiFpga_CloseAttribute_NoResetIfLastSession attribute to NiFpga_Close - * instead of 0. - */ -static const NiFpga_Status NiFpga_Status_CloseAndResetCalledWithImplicitEnableRemoval = -61213; - -/** - * For bitfiles that allow removal of implicit enable signals in single-cycle - * Timed Loops, LabVIEW FPGA does not support this method prior to running the - * bitfile. - */ -static const NiFpga_Status NiFpga_Status_ImplicitEnableRemovalButNotYetRun = -61214; - -/** - * Bitfiles that allow removal of implicit enable signals in single-cycle Timed - * Loops can run only once. Download the bitfile again before re-running the VI. - */ -static const NiFpga_Status NiFpga_Status_RunAfterStoppedCalledWithImplicitEnableRemoval = -61215; - -/** - * A gated clock has violated the handshaking protocol. If you are using - * external gated clocks, ensure that they follow the required clock gating - * protocol. If you are generating your clocks internally, please contact - * National Instruments Technical Support. - */ -static const NiFpga_Status NiFpga_Status_GatedClockHandshakingViolation = -61216; - -/** - * The number of elements requested must be less than or equal to the number of - * unacquired elements left in the host memory DMA FIFO. There are currently - * fewer unacquired elements left in the FIFO than are being requested. Release - * some acquired elements before acquiring more elements. - */ -static const NiFpga_Status NiFpga_Status_ElementsNotPermissibleToBeAcquired = -61219; - -/** - * The operation could not be performed because the FPGA is in configuration or - * discovery mode. Wait for configuration or discovery to complete and retry - * your operation. - */ -static const NiFpga_Status NiFpga_Status_FpgaBusyConfiguration = -61252; - -/** - * LabVIEW FPGA does not support Close and Reset if Last Reference for bitfiles - * that do not support Reset. Pass the - * NiFpga_CloseAttribute_NoResetIfLastSession attribute to NiFpga_Close instead - * of 0. - */ -static const NiFpga_Status NiFpga_Status_CloseAndResetCalledWithResetNotSupported = -61253; - -/** - * An unexpected internal error occurred. - */ -static const NiFpga_Status NiFpga_Status_InternalError = -61499; - -/** - * The NI-RIO driver was unable to allocate memory for a FIFO. This can happen - * when the combined depth of all DMA FIFOs exceeds the maximum depth for the - * controller, or when the controller runs out of system memory. You may be able - * to reconfigure the controller with a greater maximum FIFO depth. For more - * information, refer to the NI KnowledgeBase article 65OF2ERQ. - */ -static const NiFpga_Status NiFpga_Status_TotalDmaFifoDepthExceeded = -63003; - -/** - * Access to the remote system was denied. Use MAX to check the Remote Device - * Access settings under Software>>NI-RIO>>NI-RIO Settings on the remote system. - */ -static const NiFpga_Status NiFpga_Status_AccessDenied = -63033; - -/** - * The NI-RIO software on the host is not compatible with the software on the - * target. Upgrade the NI-RIO software on the host in order to connect to this - * target. - */ -static const NiFpga_Status NiFpga_Status_HostVersionMismatch = -63038; - -/** - * A connection could not be established to the specified remote device. Ensure - * that the device is on and accessible over the network, that NI-RIO software - * is installed, and that the RIO server is running and properly configured. - */ -static const NiFpga_Status NiFpga_Status_RpcConnectionError = -63040; - -/** - * The RPC session is invalid. The target may have reset or been rebooted. Check - * the network connection and retry the operation. - */ -static const NiFpga_Status NiFpga_Status_RpcSessionError = -63043; - -/** - * The operation could not complete because another session is accessing the - * FIFO. Close the other session and retry. - */ -static const NiFpga_Status NiFpga_Status_FifoReserved = -63082; - -/** - * A Configure FIFO, Stop FIFO, Read FIFO, or Write FIFO function was called - * while the host had acquired elements of the FIFO. Release all acquired - * elements before configuring, stopping, reading, or writing. - */ -static const NiFpga_Status NiFpga_Status_FifoElementsCurrentlyAcquired = -63083; - -/** - * A function was called using a misaligned address. The address must be a - * multiple of the size of the datatype. - */ -static const NiFpga_Status NiFpga_Status_MisalignedAccess = -63084; - -/** - * The FPGA Read/Write Control Function is accessing a control or indicator - * with data that exceeds the maximum size supported on the current target. - * Refer to the hardware documentation for the limitations on data types for - * this target. - */ -static const NiFpga_Status NiFpga_Status_ControlOrIndicatorTooLarge = -63085; - -/** - * A valid .lvbitx bitfile is required. If you are using a valid .lvbitx - * bitfile, the bitfile may not be compatible with the software you are using. - * Determine which version of LabVIEW was used to make the bitfile, update your - * software to that version or later, and try again. - */ -static const NiFpga_Status NiFpga_Status_BitfileReadError = -63101; - -/** - * The specified signature does not match the signature of the bitfile. If the - * bitfile has been recompiled, regenerate the C API and rebuild the - * application. - */ -static const NiFpga_Status NiFpga_Status_SignatureMismatch = -63106; - -/** - * The bitfile you are trying to use is incompatible with the version - * of NI-RIO installed on the target and/or host. Update the version - * of NI-RIO on the target and/or host to the same version (or later) - * used to compile the bitfile. Alternatively, recompile the bitfile - * with the same version of NI-RIO that is currently installed on the - * target and/or host. - */ -static const NiFpga_Status NiFpga_Status_IncompatibleBitfile = -63107; - -/** - * A hardware failure has occurred. The operation could not be completed as - * specified. - */ -static const NiFpga_Status NiFpga_Status_HardwareFault = -63150; - -/** - * Either the supplied resource name is invalid as a RIO resource name, or the - * device was not found. Use MAX to find the proper resource name for the - * intended device. - */ -static const NiFpga_Status NiFpga_Status_InvalidResourceName = -63192; - -/** - * The requested feature is not supported. - */ -static const NiFpga_Status NiFpga_Status_FeatureNotSupported = -63193; - -/** - * The NI-RIO software on the target system is not compatible with this - * software. Upgrade the NI-RIO software on the target system. - */ -static const NiFpga_Status NiFpga_Status_VersionMismatch = -63194; - -/** - * The session is invalid or has been closed. - */ -static const NiFpga_Status NiFpga_Status_InvalidSession = -63195; - -/** - * The maximum number of open FPGA sessions has been reached. Close some open - * sessions. - */ -static const NiFpga_Status NiFpga_Status_OutOfHandles = -63198; - -/** - * Tests whether a status is an error. - * - * @param status status to check for an error - * @return whether the status was an error - */ -static NiFpga_Inline NiFpga_Bool NiFpga_IsError(const NiFpga_Status status) -{ - return status < NiFpga_Status_Success ? NiFpga_True : NiFpga_False; -} - -/** - * Tests whether a status is not an error. Success and warnings are not errors. - * - * @param status status to check for an error - * @return whether the status was a success or warning - */ -static NiFpga_Inline NiFpga_Bool NiFpga_IsNotError(const NiFpga_Status status) -{ - return status >= NiFpga_Status_Success ? NiFpga_True : NiFpga_False; -} - -/** - * Conditionally sets the status to a new value. The previous status is - * preserved unless the new status is more of an error, which means that - * warnings and errors overwrite successes, and errors overwrite warnings. New - * errors do not overwrite older errors, and new warnings do not overwrite - * older warnings. - * - * @param status status to conditionally set - * @param newStatus new status value that may be set - * @return the resulting status - */ -static NiFpga_Inline NiFpga_Status NiFpga_MergeStatus( - NiFpga_Status* const status, - const NiFpga_Status newStatus) -{ - if (!status) - return NiFpga_Status_InvalidParameter; - if (NiFpga_IsNotError(*status) - && (*status == NiFpga_Status_Success || NiFpga_IsError(newStatus))) - *status = newStatus; - return *status; -} - -/** - * This macro evaluates the expression only if the status is not an error. The - * expression must evaluate to an NiFpga_Status, such as a call to any NiFpga_* - * function, because the status will be set to the returned status if the - * expression is evaluated. - * - * You can use this macro to mimic status chaining in LabVIEW, where the status - * does not have to be explicitly checked after each call. Such code may look - * like the following example. - * - * NiFpga_Status status = NiFpga_Status_Success; - * NiFpga_IfIsNotError(status, NiFpga_WriteU32(...)); - * NiFpga_IfIsNotError(status, NiFpga_WriteU32(...)); - * NiFpga_IfIsNotError(status, NiFpga_WriteU32(...)); - * - * @param status status to check for an error - * @param expression expression to call if the incoming status is not an error - */ -#define NiFpga_IfIsNotError(status, expression) \ - if (NiFpga_IsNotError(status)) \ - NiFpga_MergeStatus(&status, (expression)); \ - -/** - * You must call this function before all other function calls. This function - * loads the NiFpga library so that all the other functions will work. If this - * function succeeds, you must call NiFpga_Finalize after all other function - * calls. - * - * @warning This function is not thread safe. - * - * @return result of the call - */ -NiFpga_Status NiFpga_Initialize(void); - -/** - * You must call this function after all other function calls if - * NiFpga_Initialize succeeds. This function unloads the NiFpga library. - * - * @warning This function is not thread safe. - * - * @return result of the call - */ -NiFpga_Status NiFpga_Finalize(void); - -/** - * A handle to an FPGA session. - */ -typedef uint32_t NiFpga_Session; - -/** - * Attributes that NiFpga_Open accepts. - */ -typedef enum -{ - NiFpga_OpenAttribute_NoRun = 1 -} NiFpga_OpenAttribute; - -/** - * Opens a session to the FPGA. This call ensures that the contents of the - * bitfile are programmed to the FPGA. The FPGA runs unless the - * NiFpga_OpenAttribute_NoRun attribute is used. - * - * Because different operating systems have different default current working - * directories for applications, you must pass an absolute path for the bitfile - * parameter. If you pass only the filename instead of an absolute path, the - * operating system may not be able to locate the bitfile. For example, the - * default current working directories are C:\ni-rt\system\ for Phar Lap ETS and - * /c/ for VxWorks. Because the generated *_Bitfile constant is a #define to a - * string literal, you can use C/C++ string-literal concatenation to form an - * absolute path. For example, if the bitfile is in the root directory of a - * Phar Lap ETS system, pass the following for the bitfile parameter. - * - * "C:\\" NiFpga_MyApplication_Bitfile - * - * @param bitfile path to the bitfile - * @param signature signature of the bitfile - * @param resource RIO resource string to open ("RIO0" or "rio://mysystem/RIO") - * @param attribute bitwise OR of any NiFpga_OpenAttributes, or 0 - * @param session outputs the session handle, which must be closed when no - * longer needed - * @return result of the call - */ -NiFpga_Status NiFpga_Open(const char* bitfile, - const char* signature, - const char* resource, - uint32_t attribute, - NiFpga_Session* session); - -/** - * Attributes that NiFpga_Close accepts. - */ -typedef enum -{ - NiFpga_CloseAttribute_NoResetIfLastSession = 1 -} NiFpga_CloseAttribute; - -/** - * Closes the session to the FPGA. The FPGA resets unless either another session - * is still open or you use the NiFpga_CloseAttribute_NoResetIfLastSession - * attribute. - * - * @param session handle to a currently open session - * @param attribute bitwise OR of any NiFpga_CloseAttributes, or 0 - * @return result of the call - */ -NiFpga_Status NiFpga_Close(NiFpga_Session session, - uint32_t attribute); - -/** - * Attributes that NiFpga_Run accepts. - */ -typedef enum -{ - NiFpga_RunAttribute_WaitUntilDone = 1 -} NiFpga_RunAttribute; - -/** - * Runs the FPGA VI on the target. If you use NiFpga_RunAttribute_WaitUntilDone, - * NiFpga_Run blocks the thread until the FPGA finishes running. - * - * @param session handle to a currently open session - * @param attribute bitwise OR of any NiFpga_RunAttributes, or 0 - * @return result of the call - */ -NiFpga_Status NiFpga_Run(NiFpga_Session session, - uint32_t attribute); - -/** - * Aborts the FPGA VI. - * - * @param session handle to a currently open session - * @return result of the call - */ -NiFpga_Status NiFpga_Abort(NiFpga_Session session); - -/** - * Resets the FPGA VI. - * - * @param session handle to a currently open session - * @return result of the call - */ -NiFpga_Status NiFpga_Reset(NiFpga_Session session); - -/** - * Re-downloads the FPGA bitstream to the target. - * - * @param session handle to a currently open session - * @return result of the call - */ -NiFpga_Status NiFpga_Download(NiFpga_Session session); - -/** - * Reads a boolean value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadBool(NiFpga_Session session, - uint32_t indicator, - NiFpga_Bool* value); - -/** - * Reads a signed 8-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadI8(NiFpga_Session session, - uint32_t indicator, - int8_t* value); - -/** - * Reads an unsigned 8-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadU8(NiFpga_Session session, - uint32_t indicator, - uint8_t* value); - -/** - * Reads a signed 16-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadI16(NiFpga_Session session, - uint32_t indicator, - int16_t* value); - -/** - * Reads an unsigned 16-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadU16(NiFpga_Session session, - uint32_t indicator, - uint16_t* value); - -/** - * Reads a signed 32-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadI32(NiFpga_Session session, - uint32_t indicator, - int32_t* value); - -/** - * Reads an unsigned 32-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadU32(NiFpga_Session session, - uint32_t indicator, - uint32_t* value); - -/** - * Reads a signed 64-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadI64(NiFpga_Session session, - uint32_t indicator, - int64_t* value); - -/** - * Reads an unsigned 64-bit integer value from a given indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadU64(NiFpga_Session session, - uint32_t indicator, - uint64_t* value); - -/** - * Reads a single-precision floating-point value from a given indicator or - * control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadSgl(NiFpga_Session session, - uint32_t indicator, - float* value); - -/** - * Reads a double-precision floating-point value from a given indicator or - * control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param value outputs the value that was read - * @return result of the call - */ -NiFpga_Status NiFpga_ReadDbl(NiFpga_Session session, - uint32_t indicator, - double* value); - -/** - * Writes a boolean value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteBool(NiFpga_Session session, - uint32_t control, - NiFpga_Bool value); - -/** - * Writes a signed 8-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteI8(NiFpga_Session session, - uint32_t control, - int8_t value); - -/** - * Writes an unsigned 8-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteU8(NiFpga_Session session, - uint32_t control, - uint8_t value); - -/** - * Writes a signed 16-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteI16(NiFpga_Session session, - uint32_t control, - int16_t value); - -/** - * Writes an unsigned 16-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteU16(NiFpga_Session session, - uint32_t control, - uint16_t value); - -/** - * Writes a signed 32-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteI32(NiFpga_Session session, - uint32_t control, - int32_t value); - -/** - * Writes an unsigned 32-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteU32(NiFpga_Session session, - uint32_t control, - uint32_t value); - -/** - * Writes a signed 64-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteI64(NiFpga_Session session, - uint32_t control, - int64_t value); - -/** - * Writes an unsigned 64-bit integer value to a given control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteU64(NiFpga_Session session, - uint32_t control, - uint64_t value); - -/** - * Writes a single-precision floating-point value to a given control or - * indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteSgl(NiFpga_Session session, - uint32_t control, - float value); - -/** - * Writes a double-precision floating-point value to a given control or - * indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param value value to write - * @return result of the call - */ -NiFpga_Status NiFpga_WriteDbl(NiFpga_Session session, - uint32_t control, - double value); - -/** - * Reads an entire array of boolean values from a given array indicator or - * control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayBool(NiFpga_Session session, - uint32_t indicator, - NiFpga_Bool* array, - size_t size); - -/** - * Reads an entire array of signed 8-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayI8(NiFpga_Session session, - uint32_t indicator, - int8_t* array, - size_t size); - -/** - * Reads an entire array of unsigned 8-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayU8(NiFpga_Session session, - uint32_t indicator, - uint8_t* array, - size_t size); - -/** - * Reads an entire array of signed 16-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayI16(NiFpga_Session session, - uint32_t indicator, - int16_t* array, - size_t size); - -/** - * Reads an entire array of unsigned 16-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayU16(NiFpga_Session session, - uint32_t indicator, - uint16_t* array, - size_t size); - -/** - * Reads an entire array of signed 32-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayI32(NiFpga_Session session, - uint32_t indicator, - int32_t* array, - size_t size); - -/** - * Reads an entire array of unsigned 32-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayU32(NiFpga_Session session, - uint32_t indicator, - uint32_t* array, - size_t size); - -/** - * Reads an entire array of signed 64-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayI64(NiFpga_Session session, - uint32_t indicator, - int64_t* array, - size_t size); - -/** - * Reads an entire array of unsigned 64-bit integer values from a given array - * indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayU64(NiFpga_Session session, - uint32_t indicator, - uint64_t* array, - size_t size); - -/** - * Reads an entire array of single-precision floating-point values from a - * given array indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArraySgl(NiFpga_Session session, - uint32_t indicator, - float* array, - size_t size); - -/** - * Reads an entire array of double-precision floating-point values from a - * given array indicator or control. - * - * @warning The size passed must be the exact number of elements in the - * indicator or control. - * - * @param session handle to a currently open session - * @param indicator indicator or control from which to read - * @param array outputs the entire array that was read - * @param size exact number of elements in the indicator or control - * @return result of the call - */ -NiFpga_Status NiFpga_ReadArrayDbl(NiFpga_Session session, - uint32_t indicator, - double* array, - size_t size); - -/** - * Writes an entire array of boolean values to a given array control or - * indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayBool(NiFpga_Session session, - uint32_t control, - const NiFpga_Bool* array, - size_t size); - -/** - * Writes an entire array of signed 8-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayI8(NiFpga_Session session, - uint32_t control, - const int8_t* array, - size_t size); - -/** - * Writes an entire array of unsigned 8-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayU8(NiFpga_Session session, - uint32_t control, - const uint8_t* array, - size_t size); - -/** - * Writes an entire array of signed 16-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayI16(NiFpga_Session session, - uint32_t control, - const int16_t* array, - size_t size); - -/** - * Writes an entire array of unsigned 16-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayU16(NiFpga_Session session, - uint32_t control, - const uint16_t* array, - size_t size); - -/** - * Writes an entire array of signed 32-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayI32(NiFpga_Session session, - uint32_t control, - const int32_t* array, - size_t size); - -/** - * Writes an entire array of unsigned 32-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayU32(NiFpga_Session session, - uint32_t control, - const uint32_t* array, - size_t size); - -/** - * Writes an entire array of signed 64-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayI64(NiFpga_Session session, - uint32_t control, - const int64_t* array, - size_t size); - -/** - * Writes an entire array of unsigned 64-bit integer values to a given array - * control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayU64(NiFpga_Session session, - uint32_t control, - const uint64_t* array, - size_t size); - -/** - * Writes an entire array of single-precision floating-point values to a given - * array control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArraySgl(NiFpga_Session session, - uint32_t control, - const float* array, - size_t size); - -/** - * Writes an entire array of double-precision floating-point values to a given - * array control or indicator. - * - * @warning The size passed must be the exact number of elements in the - * control or indicator. - * - * @param session handle to a currently open session - * @param control control or indicator to which to write - * @param array entire array to write - * @param size exact number of elements in the control or indicator - * @return result of the call - */ -NiFpga_Status NiFpga_WriteArrayDbl(NiFpga_Session session, - uint32_t control, - const double* array, - size_t size); - -/** - * Enumeration of all 32 possible IRQs. Multiple IRQs can be bitwise ORed - * together like this: - * - * NiFpga_Irq_3 | NiFpga_Irq_23 - */ -typedef enum -{ - NiFpga_Irq_0 = 1 << 0, - NiFpga_Irq_1 = 1 << 1, - NiFpga_Irq_2 = 1 << 2, - NiFpga_Irq_3 = 1 << 3, - NiFpga_Irq_4 = 1 << 4, - NiFpga_Irq_5 = 1 << 5, - NiFpga_Irq_6 = 1 << 6, - NiFpga_Irq_7 = 1 << 7, - NiFpga_Irq_8 = 1 << 8, - NiFpga_Irq_9 = 1 << 9, - NiFpga_Irq_10 = 1 << 10, - NiFpga_Irq_11 = 1 << 11, - NiFpga_Irq_12 = 1 << 12, - NiFpga_Irq_13 = 1 << 13, - NiFpga_Irq_14 = 1 << 14, - NiFpga_Irq_15 = 1 << 15, - NiFpga_Irq_16 = 1 << 16, - NiFpga_Irq_17 = 1 << 17, - NiFpga_Irq_18 = 1 << 18, - NiFpga_Irq_19 = 1 << 19, - NiFpga_Irq_20 = 1 << 20, - NiFpga_Irq_21 = 1 << 21, - NiFpga_Irq_22 = 1 << 22, - NiFpga_Irq_23 = 1 << 23, - NiFpga_Irq_24 = 1 << 24, - NiFpga_Irq_25 = 1 << 25, - NiFpga_Irq_26 = 1 << 26, - NiFpga_Irq_27 = 1 << 27, - NiFpga_Irq_28 = 1 << 28, - NiFpga_Irq_29 = 1 << 29, - NiFpga_Irq_30 = 1 << 30, - NiFpga_Irq_31 = 1U << 31 -} NiFpga_Irq; - -/** - * Represents an infinite timeout. - */ -static const uint32_t NiFpga_InfiniteTimeout = 0xFFFFFFFF; - -/** - * See NiFpga_ReserveIrqContext for more information. - */ -typedef void* NiFpga_IrqContext; - -/** - * IRQ contexts are single-threaded; only one thread can wait with a - * particular context at any given time. To minimize jitter when first - * waiting on IRQs, reserve as many contexts as the application - * requires. - * - * If a context is successfully reserved (the returned status is not an error), - * it must be unreserved later. Otherwise a memory leak will occur. - * - * @param session handle to a currently open session - * @param context outputs the IRQ context - * @return result of the call - */ -NiFpga_Status NiFpga_ReserveIrqContext(NiFpga_Session session, - NiFpga_IrqContext* context); - -/** - * Unreserves an IRQ context obtained from NiFpga_ReserveIrqContext. - * - * @param session handle to a currently open session - * @param context IRQ context to unreserve - * @return result of the call - */ -NiFpga_Status NiFpga_UnreserveIrqContext(NiFpga_Session session, - NiFpga_IrqContext context); - -/** - * This is a blocking function that stops the calling thread until the - * FPGA asserts any IRQ in the irqs parameter, or until the function - * call times out. Before calling this function, use - * NiFpga_ReserveIrqContext to reserve an IRQ context. No other - * threads can use the same context when this function is called. - * - * You can use the irqsAsserted parameter to determine which IRQs were asserted - * for each function call. - * - * @param session handle to a currently open session - * @param context IRQ context with which to wait - * @param irqs bitwise OR of NiFpga_Irqs - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param irqsAsserted if non-NULL, outputs bitwise OR of IRQs that were - * asserted - * @param timedOut if non-NULL, outputs whether the timeout expired - * @return result of the call - */ -NiFpga_Status NiFpga_WaitOnIrqs(NiFpga_Session session, - NiFpga_IrqContext context, - uint32_t irqs, - uint32_t timeout, - uint32_t* irqsAsserted, - NiFpga_Bool* timedOut); - -/** - * Acknowledges an IRQ or set of IRQs. - * - * @param session handle to a currently open session - * @param irqs bitwise OR of NiFpga_Irqs - * @return result of the call - */ -NiFpga_Status NiFpga_AcknowledgeIrqs(NiFpga_Session session, - uint32_t irqs); - -/** - * Specifies the depth of the host memory part of the DMA FIFO. This method is - * optional. In order to see the actual depth configured, use - * NiFpga_ConfigureFifo2. - * - * @param session handle to a currently open session - * @param fifo FIFO to configure - * @param depth requested number of elements in the host memory part of the - * DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ConfigureFifo(NiFpga_Session session, - uint32_t fifo, - size_t depth); - -/** - * Specifies the depth of the host memory part of the DMA FIFO. This method is - * optional. - * - * @param session handle to a currently open session - * @param fifo FIFO to configure - * @param requestedDepth requested number of elements in the host memory part - * of the DMA FIFO - * @param actualDepth if non-NULL, outputs the actual number of elements in the - * host memory part of the DMA FIFO, which may be more than - * the requested number - * @return result of the call - */ -NiFpga_Status NiFpga_ConfigureFifo2(NiFpga_Session session, - uint32_t fifo, - size_t requestedDepth, - size_t* actualDepth); - -/** - * Starts a FIFO. This method is optional. - * - * @param session handle to a currently open session - * @param fifo FIFO to start - * @return result of the call - */ -NiFpga_Status NiFpga_StartFifo(NiFpga_Session session, - uint32_t fifo); - -/** - * Stops a FIFO. This method is optional. - * - * @param session handle to a currently open session - * @param fifo FIFO to stop - * @return result of the call - */ -NiFpga_Status NiFpga_StopFifo(NiFpga_Session session, - uint32_t fifo); - -/** - * Reads from a target-to-host FIFO of booleans. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoBool(NiFpga_Session session, - uint32_t fifo, - NiFpga_Bool* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of signed 8-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoI8(NiFpga_Session session, - uint32_t fifo, - int8_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of unsigned 8-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoU8(NiFpga_Session session, - uint32_t fifo, - uint8_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of signed 16-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoI16(NiFpga_Session session, - uint32_t fifo, - int16_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of unsigned 16-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoU16(NiFpga_Session session, - uint32_t fifo, - uint16_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of signed 32-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoI32(NiFpga_Session session, - uint32_t fifo, - int32_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of unsigned 32-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoU32(NiFpga_Session session, - uint32_t fifo, - uint32_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of signed 64-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoI64(NiFpga_Session session, - uint32_t fifo, - int64_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of unsigned 64-bit integers. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoU64(NiFpga_Session session, - uint32_t fifo, - uint64_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of single-precision floating-point values. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoSgl(NiFpga_Session session, - uint32_t fifo, - float* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Reads from a target-to-host FIFO of double-precision floating-point values. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param data outputs the data that was read - * @param numberOfElements number of elements to read - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_ReadFifoDbl(NiFpga_Session session, - uint32_t fifo, - double* data, - size_t numberOfElements, - uint32_t timeout, - size_t* elementsRemaining); - -/** - * Writes to a host-to-target FIFO of booleans. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoBool(NiFpga_Session session, - uint32_t fifo, - const NiFpga_Bool* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of signed 8-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoI8(NiFpga_Session session, - uint32_t fifo, - const int8_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of unsigned 8-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoU8(NiFpga_Session session, - uint32_t fifo, - const uint8_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of signed 16-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoI16(NiFpga_Session session, - uint32_t fifo, - const int16_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of unsigned 16-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoU16(NiFpga_Session session, - uint32_t fifo, - const uint16_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of signed 32-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoI32(NiFpga_Session session, - uint32_t fifo, - const int32_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of unsigned 32-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoU32(NiFpga_Session session, - uint32_t fifo, - const uint32_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of signed 64-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoI64(NiFpga_Session session, - uint32_t fifo, - const int64_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of unsigned 64-bit integers. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoU64(NiFpga_Session session, - uint32_t fifo, - const uint64_t* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of single-precision floating-point values. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoSgl(NiFpga_Session session, - uint32_t fifo, - const float* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Writes to a host-to-target FIFO of double-precision floating-point values. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param data data to write - * @param numberOfElements number of elements to write - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param emptyElementsRemaining if non-NULL, outputs the number of empty - * elements remaining in the host memory part of - * the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_WriteFifoDbl(NiFpga_Session session, - uint32_t fifo, - const double* data, - size_t numberOfElements, - uint32_t timeout, - size_t* emptyElementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of booleans. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsBool( - NiFpga_Session session, - uint32_t fifo, - NiFpga_Bool** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of signed 8-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsI8( - NiFpga_Session session, - uint32_t fifo, - int8_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of unsigned 8-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsU8( - NiFpga_Session session, - uint32_t fifo, - uint8_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of signed 16-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsI16( - NiFpga_Session session, - uint32_t fifo, - int16_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of unsigned 16-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsU16( - NiFpga_Session session, - uint32_t fifo, - uint16_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of signed 32-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsI32( - NiFpga_Session session, - uint32_t fifo, - int32_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of unsigned 32-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsU32( - NiFpga_Session session, - uint32_t fifo, - uint32_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of signed 64-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsI64( - NiFpga_Session session, - uint32_t fifo, - int64_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of unsigned 64-bit - * integers. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsU64( - NiFpga_Session session, - uint32_t fifo, - uint64_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of single-precision - * floating-point values. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsSgl( - NiFpga_Session session, - uint32_t fifo, - float** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for reading from a target-to-host FIFO of double-precision - * floating-point values. - * - * Acquiring, reading, and releasing FIFO elements prevents the need to copy - * the contents of elements from the host memory buffer to a separate - * user-allocated buffer before reading. The FPGA target cannot write to - * elements acquired by the host. Therefore, the host must release elements - * after reading them. The number of elements acquired may differ from the - * number of elements requested if, for example, the number of elements - * requested reaches the end of the host memory buffer. Always release all - * acquired elements before closing the session. Do not attempt to access FIFO - * elements after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo target-to-host FIFO from which to read - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoReadElementsDbl( - NiFpga_Session session, - uint32_t fifo, - double** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of booleans. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsBool( - NiFpga_Session session, - uint32_t fifo, - NiFpga_Bool** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of signed 8-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsI8( - NiFpga_Session session, - uint32_t fifo, - int8_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of unsigned 8-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsU8( - NiFpga_Session session, - uint32_t fifo, - uint8_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of signed 16-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsI16( - NiFpga_Session session, - uint32_t fifo, - int16_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of unsigned 16-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsU16( - NiFpga_Session session, - uint32_t fifo, - uint16_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of signed 32-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsI32( - NiFpga_Session session, - uint32_t fifo, - int32_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of unsigned 32-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsU32( - NiFpga_Session session, - uint32_t fifo, - uint32_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of signed 64-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsI64( - NiFpga_Session session, - uint32_t fifo, - int64_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of unsigned 64-bit - * integers. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsU64( - NiFpga_Session session, - uint32_t fifo, - uint64_t** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of single-precision - * floating-point values. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsSgl( - NiFpga_Session session, - uint32_t fifo, - float** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Acquires elements for writing to a host-to-target FIFO of single-precision - * floating-point values. - * - * Acquiring, writing, and releasing FIFO elements prevents the need to write - * first into a separate user-allocated buffer and then copy the contents of - * elements to the host memory buffer. The FPGA target cannot read elements - * acquired by the host. Therefore, the host must release elements after - * writing to them. The number of elements acquired may differ from the number - * of elements requested if, for example, the number of elements requested - * reaches the end of the host memory buffer. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo host-to-target FIFO to which to write - * @param elements outputs a pointer to the elements acquired - * @param elementsRequested requested number of elements - * @param timeout timeout in milliseconds, or NiFpga_InfiniteTimeout - * @param elementsAcquired actual number of elements acquired, which may be - * less than the requested number - * @param elementsRemaining if non-NULL, outputs the number of elements - * remaining in the host memory part of the DMA FIFO - * @return result of the call - */ -NiFpga_Status NiFpga_AcquireFifoWriteElementsDbl( - NiFpga_Session session, - uint32_t fifo, - double** elements, - size_t elementsRequested, - uint32_t timeout, - size_t* elementsAcquired, - size_t* elementsRemaining); - -/** - * Releases previously acquired FIFO elements. - * - * The FPGA target cannot read elements acquired by the host. Therefore, the - * host must release elements after acquiring them. Always release all acquired - * elements before closing the session. Do not attempt to access FIFO elements - * after the elements are released or the session is closed. - * - * @param session handle to a currently open session - * @param fifo FIFO from which to release elements - * @param elements number of elements to release - * @return result of the call - */ -NiFpga_Status NiFpga_ReleaseFifoElements(NiFpga_Session session, - uint32_t fifo, - size_t elements); - -/** - * Gets an endpoint reference to a peer-to-peer FIFO. - * - * @param session handle to a currently open session - * @param fifo peer-to-peer FIFO - * @param endpoint Outputs the endpoint reference. - * The actual type is a nip2p_tEndpointHandle usable by - * the NI Peer-to-Peer Streaming C/C++ API. - * @return result of the call - */ -NiFpga_Status NiFpga_GetPeerToPeerFifoEndpoint(NiFpga_Session session, - uint32_t fifo, - uint32_t* endpoint); - -#if NiFpga_Cpp -} -#endif - -#endif diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/nInterfaceGlobals.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/nInterfaceGlobals.h deleted file mode 100644 index 5b56ce9abc..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/nInterfaceGlobals.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_nInterfaceGlobals_h__ -#define __nFRC_2018_18_0_8_nInterfaceGlobals_h__ - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - extern unsigned int g_currentTargetClass; - - static const int g_SpiAutoData_index = 0; - static const int g_DMA_index = 1; -} -} - -#endif // __nFRC_2018_18_0_8_nInterfaceGlobals_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAI.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAI.h deleted file mode 100644 index bf175163fc..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAI.h +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_AI_h__ -#define __nFRC_2018_18_0_8_AI_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAI -{ -public: - tAI(){} - virtual ~tAI(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAI* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned ScanSize : 3; - unsigned ConvertRate : 26; -#else - unsigned ConvertRate : 26; - unsigned ScanSize : 3; -#endif - }; - struct{ - unsigned value : 29; - }; - } tConfig; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Channel : 3; - unsigned Averaged : 1; -#else - unsigned Averaged : 1; - unsigned Channel : 3; -#endif - }; - struct{ - unsigned value : 4; - }; - } tReadSelect; - - - - typedef enum - { - } tOutput_IfaceConstants; - - virtual signed int readOutput(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_ScanSize(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_ConvertRate(unsigned int value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_ScanSize(tRioStatusCode *status) = 0; - virtual unsigned int readConfig_ConvertRate(tRioStatusCode *status) = 0; - - - typedef enum - { - } tLoopTiming_IfaceConstants; - - virtual unsigned int readLoopTiming(tRioStatusCode *status) = 0; - - - typedef enum - { - kNumOversampleBitsElements = 8, - } tOversampleBits_IfaceConstants; - - virtual void writeOversampleBits(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readOversampleBits(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumAverageBitsElements = 8, - } tAverageBits_IfaceConstants; - - virtual void writeAverageBits(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readAverageBits(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumScanListElements = 8, - } tScanList_IfaceConstants; - - virtual void writeScanList(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readScanList(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - } tLatchOutput_IfaceConstants; - - virtual void strobeLatchOutput(tRioStatusCode *status) = 0; - - - typedef enum - { - } tReadSelect_IfaceConstants; - - virtual void writeReadSelect(tReadSelect value, tRioStatusCode *status) = 0; - virtual void writeReadSelect_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeReadSelect_Averaged(bool value, tRioStatusCode *status) = 0; - virtual tReadSelect readReadSelect(tRioStatusCode *status) = 0; - virtual unsigned char readReadSelect_Channel(tRioStatusCode *status) = 0; - virtual bool readReadSelect_Averaged(tRioStatusCode *status) = 0; - - - - -private: - tAI(const tAI&); - void operator=(const tAI&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_AI_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAO.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAO.h deleted file mode 100644 index 3ad6bca210..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAO.h +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_AO_h__ -#define __nFRC_2018_18_0_8_AO_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAO -{ -public: - tAO(){} - virtual ~tAO(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAO* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - - - - - - typedef enum - { - kNumMXPRegisters = 2, - } tMXP_IfaceConstants; - - virtual void writeMXP(unsigned char reg_index, unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readMXP(unsigned char reg_index, tRioStatusCode *status) = 0; - - -private: - tAO(const tAO&); - void operator=(const tAO&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_AO_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccel.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccel.h deleted file mode 100644 index 63945ab175..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccel.h +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Accel_h__ -#define __nFRC_2018_18_0_8_Accel_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAccel -{ -public: - tAccel(){} - virtual ~tAccel(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAccel* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - - - - typedef enum - { - } tSTAT_IfaceConstants; - - virtual unsigned char readSTAT(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDATO_IfaceConstants; - - virtual void writeDATO(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readDATO(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCNTR_IfaceConstants; - - virtual void writeCNTR(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readCNTR(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCNFG_IfaceConstants; - - virtual void writeCNFG(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readCNFG(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCNTL_IfaceConstants; - - virtual void writeCNTL(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readCNTL(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDATI_IfaceConstants; - - virtual unsigned char readDATI(tRioStatusCode *status) = 0; - - - typedef enum - { - } tGO_IfaceConstants; - - virtual void strobeGO(tRioStatusCode *status) = 0; - - - typedef enum - { - } tADDR_IfaceConstants; - - virtual void writeADDR(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readADDR(tRioStatusCode *status) = 0; - - - - -private: - tAccel(const tAccel&); - void operator=(const tAccel&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Accel_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccumulator.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccumulator.h deleted file mode 100644 index 114eba0c81..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAccumulator.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Accumulator_h__ -#define __nFRC_2018_18_0_8_Accumulator_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAccumulator -{ -public: - tAccumulator(){} - virtual ~tAccumulator(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAccumulator* create(unsigned char sys_index, tRioStatusCode *status); - virtual unsigned char getSystemIndex() = 0; - - - typedef enum - { - kNumSystems = 2, - } tIfaceConstants; - - typedef - union{ - struct{ - signed long long Value; - unsigned Count : 32; - }; - struct{ - unsigned value : 32; - unsigned value2 : 32; - unsigned value3 : 32; - }; - } tOutput; - - - typedef enum - { - } tOutput_IfaceConstants; - - virtual tOutput readOutput(tRioStatusCode *status) = 0; - virtual signed long long readOutput_Value(tRioStatusCode *status) = 0; - virtual unsigned int readOutput_Count(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCenter_IfaceConstants; - - virtual void writeCenter(signed int value, tRioStatusCode *status) = 0; - virtual signed int readCenter(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDeadband_IfaceConstants; - - virtual void writeDeadband(signed int value, tRioStatusCode *status) = 0; - virtual signed int readDeadband(tRioStatusCode *status) = 0; - - - typedef enum - { - } tReset_IfaceConstants; - - virtual void strobeReset(tRioStatusCode *status) = 0; - - - - - -private: - tAccumulator(const tAccumulator&); - void operator=(const tAccumulator&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Accumulator_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAlarm.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAlarm.h deleted file mode 100644 index 4cdc678223..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAlarm.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Alarm_h__ -#define __nFRC_2018_18_0_8_Alarm_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAlarm -{ -public: - tAlarm(){} - virtual ~tAlarm(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAlarm* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - - - - typedef enum - { - } tEnable_IfaceConstants; - - virtual void writeEnable(bool value, tRioStatusCode *status) = 0; - virtual bool readEnable(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTriggerTime_IfaceConstants; - - virtual void writeTriggerTime(unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readTriggerTime(tRioStatusCode *status) = 0; - - - - -private: - tAlarm(const tAlarm&); - void operator=(const tAlarm&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Alarm_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAnalogTrigger.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAnalogTrigger.h deleted file mode 100644 index e87b168ec2..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tAnalogTrigger.h +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_AnalogTrigger_h__ -#define __nFRC_2018_18_0_8_AnalogTrigger_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tAnalogTrigger -{ -public: - tAnalogTrigger(){} - virtual ~tAnalogTrigger(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tAnalogTrigger* create(unsigned char sys_index, tRioStatusCode *status); - virtual unsigned char getSystemIndex() = 0; - - - typedef enum - { - kNumSystems = 8, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned InHysteresis : 1; - unsigned OverLimit : 1; - unsigned Rising : 1; - unsigned Falling : 1; -#else - unsigned Falling : 1; - unsigned Rising : 1; - unsigned OverLimit : 1; - unsigned InHysteresis : 1; -#endif - }; - struct{ - unsigned value : 4; - }; - } tOutput; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Channel : 3; - unsigned Averaged : 1; - unsigned Filter : 1; - unsigned FloatingRollover : 1; - signed RolloverLimit : 8; -#else - signed RolloverLimit : 8; - unsigned FloatingRollover : 1; - unsigned Filter : 1; - unsigned Averaged : 1; - unsigned Channel : 3; -#endif - }; - struct{ - unsigned value : 14; - }; - } tSourceSelect; - - - typedef enum - { - } tSourceSelect_IfaceConstants; - - virtual void writeSourceSelect(tSourceSelect value, tRioStatusCode *status) = 0; - virtual void writeSourceSelect_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeSourceSelect_Averaged(bool value, tRioStatusCode *status) = 0; - virtual void writeSourceSelect_Filter(bool value, tRioStatusCode *status) = 0; - virtual void writeSourceSelect_FloatingRollover(bool value, tRioStatusCode *status) = 0; - virtual void writeSourceSelect_RolloverLimit(signed short value, tRioStatusCode *status) = 0; - virtual tSourceSelect readSourceSelect(tRioStatusCode *status) = 0; - virtual unsigned char readSourceSelect_Channel(tRioStatusCode *status) = 0; - virtual bool readSourceSelect_Averaged(tRioStatusCode *status) = 0; - virtual bool readSourceSelect_Filter(tRioStatusCode *status) = 0; - virtual bool readSourceSelect_FloatingRollover(tRioStatusCode *status) = 0; - virtual signed short readSourceSelect_RolloverLimit(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUpperLimit_IfaceConstants; - - virtual void writeUpperLimit(signed int value, tRioStatusCode *status) = 0; - virtual signed int readUpperLimit(tRioStatusCode *status) = 0; - - - typedef enum - { - } tLowerLimit_IfaceConstants; - - virtual void writeLowerLimit(signed int value, tRioStatusCode *status) = 0; - virtual signed int readLowerLimit(tRioStatusCode *status) = 0; - - - - typedef enum - { - kNumOutputElements = 8, - } tOutput_IfaceConstants; - - virtual tOutput readOutput(unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readOutput_InHysteresis(unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readOutput_OverLimit(unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readOutput_Rising(unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readOutput_Falling(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - - -private: - tAnalogTrigger(const tAnalogTrigger&); - void operator=(const tAnalogTrigger&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_AnalogTrigger_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tBIST.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tBIST.h deleted file mode 100644 index 2bb725696b..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tBIST.h +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_BIST_h__ -#define __nFRC_2018_18_0_8_BIST_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tBIST -{ -public: - tBIST(){} - virtual ~tBIST(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tBIST* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - - - - typedef enum - { - } tDO0SquareTicks_IfaceConstants; - - virtual void writeDO0SquareTicks(unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readDO0SquareTicks(tRioStatusCode *status) = 0; - - - typedef enum - { - } tEnable_IfaceConstants; - - virtual void writeEnable(bool value, tRioStatusCode *status) = 0; - virtual bool readEnable(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDO1SquareEnable_IfaceConstants; - - virtual void writeDO1SquareEnable(bool value, tRioStatusCode *status) = 0; - virtual bool readDO1SquareEnable(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDO0SquareEnable_IfaceConstants; - - virtual void writeDO0SquareEnable(bool value, tRioStatusCode *status) = 0; - virtual bool readDO0SquareEnable(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDO1SquareTicks_IfaceConstants; - - virtual void writeDO1SquareTicks(unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readDO1SquareTicks(tRioStatusCode *status) = 0; - - - - - typedef enum - { - kNumDORegisters = 2, - } tDO_IfaceConstants; - - virtual void writeDO(unsigned char reg_index, bool value, tRioStatusCode *status) = 0; - virtual bool readDO(unsigned char reg_index, tRioStatusCode *status) = 0; - - -private: - tBIST(const tBIST&); - void operator=(const tBIST&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_BIST_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tCounter.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tCounter.h deleted file mode 100644 index d4b70fd069..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tCounter.h +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Counter_h__ -#define __nFRC_2018_18_0_8_Counter_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tCounter -{ -public: - tCounter(){} - virtual ~tCounter(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tCounter* create(unsigned char sys_index, tRioStatusCode *status); - virtual unsigned char getSystemIndex() = 0; - - - typedef enum - { - kNumSystems = 8, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Direction : 1; - signed Value : 31; -#else - signed Value : 31; - unsigned Direction : 1; -#endif - }; - struct{ - unsigned value : 32; - }; - } tOutput; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned UpSource_Channel : 4; - unsigned UpSource_Module : 1; - unsigned UpSource_AnalogTrigger : 1; - unsigned DownSource_Channel : 4; - unsigned DownSource_Module : 1; - unsigned DownSource_AnalogTrigger : 1; - unsigned IndexSource_Channel : 4; - unsigned IndexSource_Module : 1; - unsigned IndexSource_AnalogTrigger : 1; - unsigned IndexActiveHigh : 1; - unsigned IndexEdgeSensitive : 1; - unsigned UpRisingEdge : 1; - unsigned UpFallingEdge : 1; - unsigned DownRisingEdge : 1; - unsigned DownFallingEdge : 1; - unsigned Mode : 2; - unsigned PulseLengthThreshold : 6; -#else - unsigned PulseLengthThreshold : 6; - unsigned Mode : 2; - unsigned DownFallingEdge : 1; - unsigned DownRisingEdge : 1; - unsigned UpFallingEdge : 1; - unsigned UpRisingEdge : 1; - unsigned IndexEdgeSensitive : 1; - unsigned IndexActiveHigh : 1; - unsigned IndexSource_AnalogTrigger : 1; - unsigned IndexSource_Module : 1; - unsigned IndexSource_Channel : 4; - unsigned DownSource_AnalogTrigger : 1; - unsigned DownSource_Module : 1; - unsigned DownSource_Channel : 4; - unsigned UpSource_AnalogTrigger : 1; - unsigned UpSource_Module : 1; - unsigned UpSource_Channel : 4; -#endif - }; - struct{ - unsigned value : 32; - }; - } tConfig; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Period : 23; - signed Count : 8; - unsigned Stalled : 1; -#else - unsigned Stalled : 1; - signed Count : 8; - unsigned Period : 23; -#endif - }; - struct{ - unsigned value : 32; - }; - } tTimerOutput; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned StallPeriod : 24; - unsigned AverageSize : 7; - unsigned UpdateWhenEmpty : 1; -#else - unsigned UpdateWhenEmpty : 1; - unsigned AverageSize : 7; - unsigned StallPeriod : 24; -#endif - }; - struct{ - unsigned value : 32; - }; - } tTimerConfig; - - - typedef enum - { - } tOutput_IfaceConstants; - - virtual tOutput readOutput(tRioStatusCode *status) = 0; - virtual bool readOutput_Direction(tRioStatusCode *status) = 0; - virtual signed int readOutput_Value(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_UpSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_UpSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_UpSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_DownSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_DownSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_DownSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexActiveHigh(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexEdgeSensitive(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_UpRisingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_UpFallingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_DownRisingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_DownFallingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Mode(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_PulseLengthThreshold(unsigned short value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_UpSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_UpSource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_UpSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_DownSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_DownSource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_DownSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_IndexSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_IndexSource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexActiveHigh(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexEdgeSensitive(tRioStatusCode *status) = 0; - virtual bool readConfig_UpRisingEdge(tRioStatusCode *status) = 0; - virtual bool readConfig_UpFallingEdge(tRioStatusCode *status) = 0; - virtual bool readConfig_DownRisingEdge(tRioStatusCode *status) = 0; - virtual bool readConfig_DownFallingEdge(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_Mode(tRioStatusCode *status) = 0; - virtual unsigned short readConfig_PulseLengthThreshold(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTimerOutput_IfaceConstants; - - virtual tTimerOutput readTimerOutput(tRioStatusCode *status) = 0; - virtual unsigned int readTimerOutput_Period(tRioStatusCode *status) = 0; - virtual signed char readTimerOutput_Count(tRioStatusCode *status) = 0; - virtual bool readTimerOutput_Stalled(tRioStatusCode *status) = 0; - - - typedef enum - { - } tReset_IfaceConstants; - - virtual void strobeReset(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTimerConfig_IfaceConstants; - - virtual void writeTimerConfig(tTimerConfig value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_StallPeriod(unsigned int value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_AverageSize(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_UpdateWhenEmpty(bool value, tRioStatusCode *status) = 0; - virtual tTimerConfig readTimerConfig(tRioStatusCode *status) = 0; - virtual unsigned int readTimerConfig_StallPeriod(tRioStatusCode *status) = 0; - virtual unsigned char readTimerConfig_AverageSize(tRioStatusCode *status) = 0; - virtual bool readTimerConfig_UpdateWhenEmpty(tRioStatusCode *status) = 0; - - - - - -private: - tCounter(const tCounter&); - void operator=(const tCounter&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Counter_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDIO.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDIO.h deleted file mode 100644 index 59b6afc195..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDIO.h +++ /dev/null @@ -1,264 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_DIO_h__ -#define __nFRC_2018_18_0_8_DIO_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tDIO -{ -public: - tDIO(){} - virtual ~tDIO(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tDIO* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Headers : 10; - unsigned SPIPort : 5; - unsigned Reserved : 1; - unsigned MXP : 16; -#else - unsigned MXP : 16; - unsigned Reserved : 1; - unsigned SPIPort : 5; - unsigned Headers : 10; -#endif - }; - struct{ - unsigned value : 32; - }; - } tDO; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Headers : 10; - unsigned SPIPort : 5; - unsigned Reserved : 1; - unsigned MXP : 16; -#else - unsigned MXP : 16; - unsigned Reserved : 1; - unsigned SPIPort : 5; - unsigned Headers : 10; -#endif - }; - struct{ - unsigned value : 32; - }; - } tOutputEnable; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Headers : 10; - unsigned SPIPort : 5; - unsigned Reserved : 1; - unsigned MXP : 16; -#else - unsigned MXP : 16; - unsigned Reserved : 1; - unsigned SPIPort : 5; - unsigned Headers : 10; -#endif - }; - struct{ - unsigned value : 32; - }; - } tPulse; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Headers : 10; - unsigned SPIPort : 5; - unsigned Reserved : 1; - unsigned MXP : 16; -#else - unsigned MXP : 16; - unsigned Reserved : 1; - unsigned SPIPort : 5; - unsigned Headers : 10; -#endif - }; - struct{ - unsigned value : 32; - }; - } tDI; - - - - typedef enum - { - } tDO_IfaceConstants; - - virtual void writeDO(tDO value, tRioStatusCode *status) = 0; - virtual void writeDO_Headers(unsigned short value, tRioStatusCode *status) = 0; - virtual void writeDO_SPIPort(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeDO_Reserved(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeDO_MXP(unsigned short value, tRioStatusCode *status) = 0; - virtual tDO readDO(tRioStatusCode *status) = 0; - virtual unsigned short readDO_Headers(tRioStatusCode *status) = 0; - virtual unsigned char readDO_SPIPort(tRioStatusCode *status) = 0; - virtual unsigned char readDO_Reserved(tRioStatusCode *status) = 0; - virtual unsigned short readDO_MXP(tRioStatusCode *status) = 0; - - - typedef enum - { - kNumPWMDutyCycleAElements = 4, - } tPWMDutyCycleA_IfaceConstants; - - virtual void writePWMDutyCycleA(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPWMDutyCycleA(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumPWMDutyCycleBElements = 2, - } tPWMDutyCycleB_IfaceConstants; - - virtual void writePWMDutyCycleB(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPWMDutyCycleB(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumFilterSelectHdrElements = 16, - } tFilterSelectHdr_IfaceConstants; - - virtual void writeFilterSelectHdr(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readFilterSelectHdr(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - } tOutputEnable_IfaceConstants; - - virtual void writeOutputEnable(tOutputEnable value, tRioStatusCode *status) = 0; - virtual void writeOutputEnable_Headers(unsigned short value, tRioStatusCode *status) = 0; - virtual void writeOutputEnable_SPIPort(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeOutputEnable_Reserved(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeOutputEnable_MXP(unsigned short value, tRioStatusCode *status) = 0; - virtual tOutputEnable readOutputEnable(tRioStatusCode *status) = 0; - virtual unsigned short readOutputEnable_Headers(tRioStatusCode *status) = 0; - virtual unsigned char readOutputEnable_SPIPort(tRioStatusCode *status) = 0; - virtual unsigned char readOutputEnable_Reserved(tRioStatusCode *status) = 0; - virtual unsigned short readOutputEnable_MXP(tRioStatusCode *status) = 0; - - - typedef enum - { - kNumPWMOutputSelectElements = 6, - } tPWMOutputSelect_IfaceConstants; - - virtual void writePWMOutputSelect(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPWMOutputSelect(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - } tPulse_IfaceConstants; - - virtual void writePulse(tPulse value, tRioStatusCode *status) = 0; - virtual void writePulse_Headers(unsigned short value, tRioStatusCode *status) = 0; - virtual void writePulse_SPIPort(unsigned char value, tRioStatusCode *status) = 0; - virtual void writePulse_Reserved(unsigned char value, tRioStatusCode *status) = 0; - virtual void writePulse_MXP(unsigned short value, tRioStatusCode *status) = 0; - virtual tPulse readPulse(tRioStatusCode *status) = 0; - virtual unsigned short readPulse_Headers(tRioStatusCode *status) = 0; - virtual unsigned char readPulse_SPIPort(tRioStatusCode *status) = 0; - virtual unsigned char readPulse_Reserved(tRioStatusCode *status) = 0; - virtual unsigned short readPulse_MXP(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDI_IfaceConstants; - - virtual tDI readDI(tRioStatusCode *status) = 0; - virtual unsigned short readDI_Headers(tRioStatusCode *status) = 0; - virtual unsigned char readDI_SPIPort(tRioStatusCode *status) = 0; - virtual unsigned char readDI_Reserved(tRioStatusCode *status) = 0; - virtual unsigned short readDI_MXP(tRioStatusCode *status) = 0; - - - typedef enum - { - } tEnableMXPSpecialFunction_IfaceConstants; - - virtual void writeEnableMXPSpecialFunction(unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readEnableMXPSpecialFunction(tRioStatusCode *status) = 0; - - - typedef enum - { - kNumFilterSelectMXPElements = 16, - } tFilterSelectMXP_IfaceConstants; - - virtual void writeFilterSelectMXP(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readFilterSelectMXP(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - } tPulseLength_IfaceConstants; - - virtual void writePulseLength(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPulseLength(tRioStatusCode *status) = 0; - - - typedef enum - { - } tPWMPeriodPower_IfaceConstants; - - virtual void writePWMPeriodPower(unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readPWMPeriodPower(tRioStatusCode *status) = 0; - - - - - typedef enum - { - kNumFilterPeriodMXPRegisters = 3, - } tFilterPeriodMXP_IfaceConstants; - - virtual void writeFilterPeriodMXP(unsigned char reg_index, unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readFilterPeriodMXP(unsigned char reg_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumFilterPeriodHdrRegisters = 3, - } tFilterPeriodHdr_IfaceConstants; - - virtual void writeFilterPeriodHdr(unsigned char reg_index, unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readFilterPeriodHdr(unsigned char reg_index, tRioStatusCode *status) = 0; - - -private: - tDIO(const tDIO&); - void operator=(const tDIO&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_DIO_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDMA.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDMA.h deleted file mode 100644 index 4adce53fec..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tDMA.h +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_DMA_h__ -#define __nFRC_2018_18_0_8_DMA_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tDMA -{ -public: - tDMA(){} - virtual ~tDMA(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tDMA* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Pause : 1; - unsigned Enable_AI0_Low : 1; - unsigned Enable_AI0_High : 1; - unsigned Enable_AIAveraged0_Low : 1; - unsigned Enable_AIAveraged0_High : 1; - unsigned Enable_AI1_Low : 1; - unsigned Enable_AI1_High : 1; - unsigned Enable_AIAveraged1_Low : 1; - unsigned Enable_AIAveraged1_High : 1; - unsigned Enable_Accumulator0 : 1; - unsigned Enable_Accumulator1 : 1; - unsigned Enable_DI : 1; - unsigned Enable_AnalogTriggers : 1; - unsigned Enable_Counters_Low : 1; - unsigned Enable_Counters_High : 1; - unsigned Enable_CounterTimers_Low : 1; - unsigned Enable_CounterTimers_High : 1; - unsigned Enable_Encoders_Low : 1; - unsigned Enable_Encoders_High : 1; - unsigned Enable_EncoderTimers_Low : 1; - unsigned Enable_EncoderTimers_High : 1; - unsigned ExternalClock : 1; -#else - unsigned ExternalClock : 1; - unsigned Enable_EncoderTimers_High : 1; - unsigned Enable_EncoderTimers_Low : 1; - unsigned Enable_Encoders_High : 1; - unsigned Enable_Encoders_Low : 1; - unsigned Enable_CounterTimers_High : 1; - unsigned Enable_CounterTimers_Low : 1; - unsigned Enable_Counters_High : 1; - unsigned Enable_Counters_Low : 1; - unsigned Enable_AnalogTriggers : 1; - unsigned Enable_DI : 1; - unsigned Enable_Accumulator1 : 1; - unsigned Enable_Accumulator0 : 1; - unsigned Enable_AIAveraged1_High : 1; - unsigned Enable_AIAveraged1_Low : 1; - unsigned Enable_AI1_High : 1; - unsigned Enable_AI1_Low : 1; - unsigned Enable_AIAveraged0_High : 1; - unsigned Enable_AIAveraged0_Low : 1; - unsigned Enable_AI0_High : 1; - unsigned Enable_AI0_Low : 1; - unsigned Pause : 1; -#endif - }; - struct{ - unsigned value : 22; - }; - } tConfig; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned ExternalClockSource_Channel : 4; - unsigned ExternalClockSource_Module : 1; - unsigned ExternalClockSource_AnalogTrigger : 1; - unsigned RisingEdge : 1; - unsigned FallingEdge : 1; -#else - unsigned FallingEdge : 1; - unsigned RisingEdge : 1; - unsigned ExternalClockSource_AnalogTrigger : 1; - unsigned ExternalClockSource_Module : 1; - unsigned ExternalClockSource_Channel : 4; -#endif - }; - struct{ - unsigned value : 8; - }; - } tExternalTriggers; - - - - typedef enum - { - } tRate_IfaceConstants; - - virtual void writeRate(unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readRate(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_Pause(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AI0_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AI0_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AIAveraged0_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AIAveraged0_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AI1_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AI1_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AIAveraged1_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AIAveraged1_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Accumulator0(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Accumulator1(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_DI(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_AnalogTriggers(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Counters_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Counters_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_CounterTimers_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_CounterTimers_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Encoders_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_Encoders_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_EncoderTimers_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enable_EncoderTimers_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_ExternalClock(bool value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual bool readConfig_Pause(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AI0_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AI0_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AIAveraged0_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AIAveraged0_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AI1_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AI1_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AIAveraged1_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AIAveraged1_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Accumulator0(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Accumulator1(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_DI(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_AnalogTriggers(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Counters_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Counters_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_CounterTimers_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_CounterTimers_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Encoders_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_Encoders_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_EncoderTimers_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enable_EncoderTimers_High(tRioStatusCode *status) = 0; - virtual bool readConfig_ExternalClock(tRioStatusCode *status) = 0; - - - - - typedef enum - { - kNumExternalTriggersRegisters = 2, - kNumExternalTriggersElements = 4, - } tExternalTriggers_IfaceConstants; - - virtual void writeExternalTriggers(unsigned char reg_index, unsigned char bitfield_index, tExternalTriggers value, tRioStatusCode *status) = 0; - virtual void writeExternalTriggers_ExternalClockSource_Channel(unsigned char reg_index, unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual void writeExternalTriggers_ExternalClockSource_Module(unsigned char reg_index, unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual void writeExternalTriggers_ExternalClockSource_AnalogTrigger(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; - virtual void writeExternalTriggers_RisingEdge(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; - virtual void writeExternalTriggers_FallingEdge(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; - virtual tExternalTriggers readExternalTriggers(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual unsigned char readExternalTriggers_ExternalClockSource_Channel(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual unsigned char readExternalTriggers_ExternalClockSource_Module(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readExternalTriggers_ExternalClockSource_AnalogTrigger(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readExternalTriggers_RisingEdge(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - virtual bool readExternalTriggers_FallingEdge(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - - -private: - tDMA(const tDMA&); - void operator=(const tDMA&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_DMA_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tEncoder.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tEncoder.h deleted file mode 100644 index 1e310c81b0..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tEncoder.h +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Encoder_h__ -#define __nFRC_2018_18_0_8_Encoder_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tEncoder -{ -public: - tEncoder(){} - virtual ~tEncoder(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tEncoder* create(unsigned char sys_index, tRioStatusCode *status); - virtual unsigned char getSystemIndex() = 0; - - - typedef enum - { - kNumSystems = 8, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Direction : 1; - signed Value : 31; -#else - signed Value : 31; - unsigned Direction : 1; -#endif - }; - struct{ - unsigned value : 32; - }; - } tOutput; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned ASource_Channel : 4; - unsigned ASource_Module : 1; - unsigned ASource_AnalogTrigger : 1; - unsigned BSource_Channel : 4; - unsigned BSource_Module : 1; - unsigned BSource_AnalogTrigger : 1; - unsigned IndexSource_Channel : 4; - unsigned IndexSource_Module : 1; - unsigned IndexSource_AnalogTrigger : 1; - unsigned IndexActiveHigh : 1; - unsigned IndexEdgeSensitive : 1; - unsigned Reverse : 1; -#else - unsigned Reverse : 1; - unsigned IndexEdgeSensitive : 1; - unsigned IndexActiveHigh : 1; - unsigned IndexSource_AnalogTrigger : 1; - unsigned IndexSource_Module : 1; - unsigned IndexSource_Channel : 4; - unsigned BSource_AnalogTrigger : 1; - unsigned BSource_Module : 1; - unsigned BSource_Channel : 4; - unsigned ASource_AnalogTrigger : 1; - unsigned ASource_Module : 1; - unsigned ASource_Channel : 4; -#endif - }; - struct{ - unsigned value : 21; - }; - } tConfig; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Period : 23; - signed Count : 8; - unsigned Stalled : 1; -#else - unsigned Stalled : 1; - signed Count : 8; - unsigned Period : 23; -#endif - }; - struct{ - unsigned value : 32; - }; - } tTimerOutput; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned StallPeriod : 24; - unsigned AverageSize : 7; - unsigned UpdateWhenEmpty : 1; -#else - unsigned UpdateWhenEmpty : 1; - unsigned AverageSize : 7; - unsigned StallPeriod : 24; -#endif - }; - struct{ - unsigned value : 32; - }; - } tTimerConfig; - - - typedef enum - { - } tOutput_IfaceConstants; - - virtual tOutput readOutput(tRioStatusCode *status) = 0; - virtual bool readOutput_Direction(tRioStatusCode *status) = 0; - virtual signed int readOutput_Value(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_ASource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_ASource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_ASource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_BSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_BSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_BSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexActiveHigh(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_IndexEdgeSensitive(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Reverse(bool value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_ASource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_ASource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_ASource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_BSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_BSource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_BSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_IndexSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_IndexSource_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexActiveHigh(tRioStatusCode *status) = 0; - virtual bool readConfig_IndexEdgeSensitive(tRioStatusCode *status) = 0; - virtual bool readConfig_Reverse(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTimerOutput_IfaceConstants; - - virtual tTimerOutput readTimerOutput(tRioStatusCode *status) = 0; - virtual unsigned int readTimerOutput_Period(tRioStatusCode *status) = 0; - virtual signed char readTimerOutput_Count(tRioStatusCode *status) = 0; - virtual bool readTimerOutput_Stalled(tRioStatusCode *status) = 0; - - - typedef enum - { - } tReset_IfaceConstants; - - virtual void strobeReset(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTimerConfig_IfaceConstants; - - virtual void writeTimerConfig(tTimerConfig value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_StallPeriod(unsigned int value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_AverageSize(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeTimerConfig_UpdateWhenEmpty(bool value, tRioStatusCode *status) = 0; - virtual tTimerConfig readTimerConfig(tRioStatusCode *status) = 0; - virtual unsigned int readTimerConfig_StallPeriod(tRioStatusCode *status) = 0; - virtual unsigned char readTimerConfig_AverageSize(tRioStatusCode *status) = 0; - virtual bool readTimerConfig_UpdateWhenEmpty(tRioStatusCode *status) = 0; - - - - - -private: - tEncoder(const tEncoder&); - void operator=(const tEncoder&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Encoder_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tGlobal.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tGlobal.h deleted file mode 100644 index cb41e6eca6..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tGlobal.h +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Global_h__ -#define __nFRC_2018_18_0_8_Global_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tGlobal -{ -public: - tGlobal(){} - virtual ~tGlobal(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tGlobal* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Comm : 8; - unsigned Mode : 8; - unsigned RSL : 1; -#else - unsigned RSL : 1; - unsigned Mode : 8; - unsigned Comm : 8; -#endif - }; - struct{ - unsigned value : 17; - }; - } tLEDs; - - - - typedef enum - { - } tLEDs_IfaceConstants; - - virtual void writeLEDs(tLEDs value, tRioStatusCode *status) = 0; - virtual void writeLEDs_Comm(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeLEDs_Mode(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeLEDs_RSL(bool value, tRioStatusCode *status) = 0; - virtual tLEDs readLEDs(tRioStatusCode *status) = 0; - virtual unsigned char readLEDs_Comm(tRioStatusCode *status) = 0; - virtual unsigned char readLEDs_Mode(tRioStatusCode *status) = 0; - virtual bool readLEDs_RSL(tRioStatusCode *status) = 0; - - - typedef enum - { - } tLocalTimeUpper_IfaceConstants; - - virtual unsigned int readLocalTimeUpper(tRioStatusCode *status) = 0; - - - typedef enum - { - } tVersion_IfaceConstants; - - virtual unsigned short readVersion(tRioStatusCode *status) = 0; - - - typedef enum - { - } tLocalTime_IfaceConstants; - - virtual unsigned int readLocalTime(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserButton_IfaceConstants; - - virtual bool readUserButton(tRioStatusCode *status) = 0; - - - typedef enum - { - } tRevision_IfaceConstants; - - virtual unsigned int readRevision(tRioStatusCode *status) = 0; - - - - -private: - tGlobal(const tGlobal&); - void operator=(const tGlobal&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Global_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tHMB.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tHMB.h deleted file mode 100644 index 2a11031630..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tHMB.h +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_HMB_h__ -#define __nFRC_2018_18_0_8_HMB_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tHMB -{ -public: - tHMB(){} - virtual ~tHMB(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tHMB* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Enables_AI0_Low : 1; - unsigned Enables_AI0_High : 1; - unsigned Enables_AIAveraged0_Low : 1; - unsigned Enables_AIAveraged0_High : 1; - unsigned Enables_AI1_Low : 1; - unsigned Enables_AI1_High : 1; - unsigned Enables_AIAveraged1_Low : 1; - unsigned Enables_AIAveraged1_High : 1; - unsigned Enables_Accumulator0 : 1; - unsigned Enables_Accumulator1 : 1; - unsigned Enables_DI : 1; - unsigned Enables_AnalogTriggers : 1; - unsigned Enables_Counters_Low : 1; - unsigned Enables_Counters_High : 1; - unsigned Enables_CounterTimers_Low : 1; - unsigned Enables_CounterTimers_High : 1; - unsigned Enables_Encoders_Low : 1; - unsigned Enables_Encoders_High : 1; - unsigned Enables_EncoderTimers_Low : 1; - unsigned Enables_EncoderTimers_High : 1; -#else - unsigned Enables_EncoderTimers_High : 1; - unsigned Enables_EncoderTimers_Low : 1; - unsigned Enables_Encoders_High : 1; - unsigned Enables_Encoders_Low : 1; - unsigned Enables_CounterTimers_High : 1; - unsigned Enables_CounterTimers_Low : 1; - unsigned Enables_Counters_High : 1; - unsigned Enables_Counters_Low : 1; - unsigned Enables_AnalogTriggers : 1; - unsigned Enables_DI : 1; - unsigned Enables_Accumulator1 : 1; - unsigned Enables_Accumulator0 : 1; - unsigned Enables_AIAveraged1_High : 1; - unsigned Enables_AIAveraged1_Low : 1; - unsigned Enables_AI1_High : 1; - unsigned Enables_AI1_Low : 1; - unsigned Enables_AIAveraged0_High : 1; - unsigned Enables_AIAveraged0_Low : 1; - unsigned Enables_AI0_High : 1; - unsigned Enables_AI0_Low : 1; -#endif - }; - struct{ - unsigned value : 20; - }; - } tConfig; - - - - typedef enum - { - } tForceOnce_IfaceConstants; - - virtual void writeForceOnce(bool value, tRioStatusCode *status) = 0; - virtual bool readForceOnce(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AI0_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AI0_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AIAveraged0_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AIAveraged0_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AI1_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AI1_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AIAveraged1_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AIAveraged1_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Accumulator0(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Accumulator1(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_DI(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_AnalogTriggers(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Counters_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Counters_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_CounterTimers_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_CounterTimers_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Encoders_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_Encoders_High(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_EncoderTimers_Low(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_Enables_EncoderTimers_High(bool value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AI0_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AI0_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AIAveraged0_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AIAveraged0_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AI1_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AI1_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AIAveraged1_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AIAveraged1_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Accumulator0(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Accumulator1(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_DI(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_AnalogTriggers(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Counters_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Counters_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_CounterTimers_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_CounterTimers_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Encoders_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_Encoders_High(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_EncoderTimers_Low(tRioStatusCode *status) = 0; - virtual bool readConfig_Enables_EncoderTimers_High(tRioStatusCode *status) = 0; - - - - -private: - tHMB(const tHMB&); - void operator=(const tHMB&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_HMB_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tInterrupt.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tInterrupt.h deleted file mode 100644 index 05808d9ed7..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tInterrupt.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Interrupt_h__ -#define __nFRC_2018_18_0_8_Interrupt_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tInterrupt -{ -public: - tInterrupt(){} - virtual ~tInterrupt(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tInterrupt* create(unsigned char sys_index, tRioStatusCode *status); - virtual unsigned char getSystemIndex() = 0; - - - typedef enum - { - kNumSystems = 8, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Source_Channel : 4; - unsigned Source_Module : 1; - unsigned Source_AnalogTrigger : 1; - unsigned RisingEdge : 1; - unsigned FallingEdge : 1; - unsigned WaitForAck : 1; -#else - unsigned WaitForAck : 1; - unsigned FallingEdge : 1; - unsigned RisingEdge : 1; - unsigned Source_AnalogTrigger : 1; - unsigned Source_Module : 1; - unsigned Source_Channel : 4; -#endif - }; - struct{ - unsigned value : 9; - }; - } tConfig; - - - typedef enum - { - } tFallingTimeStamp_IfaceConstants; - - virtual unsigned int readFallingTimeStamp(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_Source_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_Source_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeConfig_Source_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_RisingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_FallingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeConfig_WaitForAck(bool value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_Source_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readConfig_Source_Module(tRioStatusCode *status) = 0; - virtual bool readConfig_Source_AnalogTrigger(tRioStatusCode *status) = 0; - virtual bool readConfig_RisingEdge(tRioStatusCode *status) = 0; - virtual bool readConfig_FallingEdge(tRioStatusCode *status) = 0; - virtual bool readConfig_WaitForAck(tRioStatusCode *status) = 0; - - - typedef enum - { - } tRisingTimeStamp_IfaceConstants; - - virtual unsigned int readRisingTimeStamp(tRioStatusCode *status) = 0; - - - - - -private: - tInterrupt(const tInterrupt&); - void operator=(const tInterrupt&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Interrupt_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPWM.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPWM.h deleted file mode 100644 index 1513f4d467..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPWM.h +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_PWM_h__ -#define __nFRC_2018_18_0_8_PWM_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tPWM -{ -public: - tPWM(){} - virtual ~tPWM(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tPWM* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Period : 16; - unsigned MinHigh : 16; -#else - unsigned MinHigh : 16; - unsigned Period : 16; -#endif - }; - struct{ - unsigned value : 32; - }; - } tConfig; - - - - typedef enum - { - } tCycleStartTime_IfaceConstants; - - virtual unsigned int readCycleStartTime(tRioStatusCode *status) = 0; - - - typedef enum - { - } tConfig_IfaceConstants; - - virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; - virtual void writeConfig_Period(unsigned short value, tRioStatusCode *status) = 0; - virtual void writeConfig_MinHigh(unsigned short value, tRioStatusCode *status) = 0; - virtual tConfig readConfig(tRioStatusCode *status) = 0; - virtual unsigned short readConfig_Period(tRioStatusCode *status) = 0; - virtual unsigned short readConfig_MinHigh(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCycleStartTimeUpper_IfaceConstants; - - virtual unsigned int readCycleStartTimeUpper(tRioStatusCode *status) = 0; - - - typedef enum - { - } tLoopTiming_IfaceConstants; - - virtual unsigned short readLoopTiming(tRioStatusCode *status) = 0; - - - typedef enum - { - kNumPeriodScaleMXPElements = 10, - } tPeriodScaleMXP_IfaceConstants; - - virtual void writePeriodScaleMXP(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPeriodScaleMXP(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumPeriodScaleHdrElements = 10, - } tPeriodScaleHdr_IfaceConstants; - - virtual void writePeriodScaleHdr(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readPeriodScaleHdr(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumZeroLatchElements = 20, - } tZeroLatch_IfaceConstants; - - virtual void writeZeroLatch(unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; - virtual bool readZeroLatch(unsigned char bitfield_index, tRioStatusCode *status) = 0; - - - - - typedef enum - { - kNumHdrRegisters = 10, - } tHdr_IfaceConstants; - - virtual void writeHdr(unsigned char reg_index, unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readHdr(unsigned char reg_index, tRioStatusCode *status) = 0; - - - typedef enum - { - kNumMXPRegisters = 10, - } tMXP_IfaceConstants; - - virtual void writeMXP(unsigned char reg_index, unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readMXP(unsigned char reg_index, tRioStatusCode *status) = 0; - - -private: - tPWM(const tPWM&); - void operator=(const tPWM&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_PWM_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPower.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPower.h deleted file mode 100644 index 346ee85a58..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tPower.h +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Power_h__ -#define __nFRC_2018_18_0_8_Power_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tPower -{ -public: - tPower(){} - virtual ~tPower(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tPower* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned User3V3 : 8; - unsigned User5V : 8; - unsigned User6V : 8; -#else - unsigned User6V : 8; - unsigned User5V : 8; - unsigned User3V3 : 8; -#endif - }; - struct{ - unsigned value : 24; - }; - } tStatus; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned OverCurrentFaultCount3V3 : 8; - unsigned OverCurrentFaultCount5V : 8; - unsigned OverCurrentFaultCount6V : 8; - unsigned UnderVoltageFaultCount5V : 8; -#else - unsigned UnderVoltageFaultCount5V : 8; - unsigned OverCurrentFaultCount6V : 8; - unsigned OverCurrentFaultCount5V : 8; - unsigned OverCurrentFaultCount3V3 : 8; -#endif - }; - struct{ - unsigned value : 32; - }; - } tFaultCounts; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned User3V3 : 1; - unsigned User5V : 1; - unsigned User6V : 1; -#else - unsigned User6V : 1; - unsigned User5V : 1; - unsigned User3V3 : 1; -#endif - }; - struct{ - unsigned value : 3; - }; - } tDisable; - - - - typedef enum - { - } tUserVoltage3V3_IfaceConstants; - - virtual unsigned short readUserVoltage3V3(tRioStatusCode *status) = 0; - - - typedef enum - { - } tStatus_IfaceConstants; - - virtual tStatus readStatus(tRioStatusCode *status) = 0; - virtual unsigned char readStatus_User3V3(tRioStatusCode *status) = 0; - virtual unsigned char readStatus_User5V(tRioStatusCode *status) = 0; - virtual unsigned char readStatus_User6V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserVoltage6V_IfaceConstants; - - virtual unsigned short readUserVoltage6V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tOnChipTemperature_IfaceConstants; - - virtual unsigned short readOnChipTemperature(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserVoltage5V_IfaceConstants; - - virtual unsigned short readUserVoltage5V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tResetFaultCounts_IfaceConstants; - - virtual void strobeResetFaultCounts(tRioStatusCode *status) = 0; - - - typedef enum - { - } tIntegratedIO_IfaceConstants; - - virtual unsigned short readIntegratedIO(tRioStatusCode *status) = 0; - - - typedef enum - { - } tMXP_DIOVoltage_IfaceConstants; - - virtual unsigned short readMXP_DIOVoltage(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserCurrent3V3_IfaceConstants; - - virtual unsigned short readUserCurrent3V3(tRioStatusCode *status) = 0; - - - typedef enum - { - } tVinVoltage_IfaceConstants; - - virtual unsigned short readVinVoltage(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserCurrent6V_IfaceConstants; - - virtual unsigned short readUserCurrent6V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tUserCurrent5V_IfaceConstants; - - virtual unsigned short readUserCurrent5V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAOVoltage_IfaceConstants; - - virtual unsigned short readAOVoltage(tRioStatusCode *status) = 0; - - - typedef enum - { - } tFaultCounts_IfaceConstants; - - virtual tFaultCounts readFaultCounts(tRioStatusCode *status) = 0; - virtual unsigned char readFaultCounts_OverCurrentFaultCount3V3(tRioStatusCode *status) = 0; - virtual unsigned char readFaultCounts_OverCurrentFaultCount5V(tRioStatusCode *status) = 0; - virtual unsigned char readFaultCounts_OverCurrentFaultCount6V(tRioStatusCode *status) = 0; - virtual unsigned char readFaultCounts_UnderVoltageFaultCount5V(tRioStatusCode *status) = 0; - - - typedef enum - { - } tVinCurrent_IfaceConstants; - - virtual unsigned short readVinCurrent(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDisable_IfaceConstants; - - virtual void writeDisable(tDisable value, tRioStatusCode *status) = 0; - virtual void writeDisable_User3V3(bool value, tRioStatusCode *status) = 0; - virtual void writeDisable_User5V(bool value, tRioStatusCode *status) = 0; - virtual void writeDisable_User6V(bool value, tRioStatusCode *status) = 0; - virtual tDisable readDisable(tRioStatusCode *status) = 0; - virtual bool readDisable_User3V3(tRioStatusCode *status) = 0; - virtual bool readDisable_User5V(tRioStatusCode *status) = 0; - virtual bool readDisable_User6V(tRioStatusCode *status) = 0; - - - - -private: - tPower(const tPower&); - void operator=(const tPower&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Power_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tRelay.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tRelay.h deleted file mode 100644 index 3ddd635f4e..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tRelay.h +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_Relay_h__ -#define __nFRC_2018_18_0_8_Relay_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tRelay -{ -public: - tRelay(){} - virtual ~tRelay(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tRelay* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Forward : 4; - unsigned Reverse : 4; -#else - unsigned Reverse : 4; - unsigned Forward : 4; -#endif - }; - struct{ - unsigned value : 8; - }; - } tValue; - - - - typedef enum - { - } tValue_IfaceConstants; - - virtual void writeValue(tValue value, tRioStatusCode *status) = 0; - virtual void writeValue_Forward(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeValue_Reverse(unsigned char value, tRioStatusCode *status) = 0; - virtual tValue readValue(tRioStatusCode *status) = 0; - virtual unsigned char readValue_Forward(tRioStatusCode *status) = 0; - virtual unsigned char readValue_Reverse(tRioStatusCode *status) = 0; - - - - -private: - tRelay(const tRelay&); - void operator=(const tRelay&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_Relay_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSPI.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSPI.h deleted file mode 100644 index 058eb1a931..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSPI.h +++ /dev/null @@ -1,237 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_SPI_h__ -#define __nFRC_2018_18_0_8_SPI_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tSPI -{ -public: - tSPI(){} - virtual ~tSPI(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tSPI* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned ExternalClockSource_Channel : 4; - unsigned ExternalClockSource_Module : 1; - unsigned ExternalClockSource_AnalogTrigger : 1; - unsigned RisingEdge : 1; - unsigned FallingEdge : 1; - unsigned ExternalClock : 1; -#else - unsigned ExternalClock : 1; - unsigned FallingEdge : 1; - unsigned RisingEdge : 1; - unsigned ExternalClockSource_AnalogTrigger : 1; - unsigned ExternalClockSource_Module : 1; - unsigned ExternalClockSource_Channel : 4; -#endif - }; - struct{ - unsigned value : 9; - }; - } tAutoTriggerConfig; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned TxByteCount : 4; - unsigned ZeroByteCount : 7; -#else - unsigned ZeroByteCount : 7; - unsigned TxByteCount : 4; -#endif - }; - struct{ - unsigned value : 11; - }; - } tAutoByteCount; - typedef - union{ - struct{ -#ifdef __vxworks - unsigned Hdr : 4; - unsigned MXP : 1; -#else - unsigned MXP : 1; - unsigned Hdr : 4; -#endif - }; - struct{ - unsigned value : 5; - }; - } tChipSelectActiveHigh; - - - - typedef enum - { - } tDebugIntStatReadCount_IfaceConstants; - - virtual unsigned int readDebugIntStatReadCount(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDebugState_IfaceConstants; - - virtual unsigned short readDebugState(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoTriggerConfig_IfaceConstants; - - virtual void writeAutoTriggerConfig(tAutoTriggerConfig value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_ExternalClockSource_Channel(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_ExternalClockSource_Module(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_ExternalClockSource_AnalogTrigger(bool value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_RisingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_FallingEdge(bool value, tRioStatusCode *status) = 0; - virtual void writeAutoTriggerConfig_ExternalClock(bool value, tRioStatusCode *status) = 0; - virtual tAutoTriggerConfig readAutoTriggerConfig(tRioStatusCode *status) = 0; - virtual unsigned char readAutoTriggerConfig_ExternalClockSource_Channel(tRioStatusCode *status) = 0; - virtual unsigned char readAutoTriggerConfig_ExternalClockSource_Module(tRioStatusCode *status) = 0; - virtual bool readAutoTriggerConfig_ExternalClockSource_AnalogTrigger(tRioStatusCode *status) = 0; - virtual bool readAutoTriggerConfig_RisingEdge(tRioStatusCode *status) = 0; - virtual bool readAutoTriggerConfig_FallingEdge(tRioStatusCode *status) = 0; - virtual bool readAutoTriggerConfig_ExternalClock(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoChipSelect_IfaceConstants; - - virtual void writeAutoChipSelect(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readAutoChipSelect(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDebugRevision_IfaceConstants; - - virtual unsigned int readDebugRevision(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTransferSkippedFullCount_IfaceConstants; - - virtual unsigned int readTransferSkippedFullCount(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoByteCount_IfaceConstants; - - virtual void writeAutoByteCount(tAutoByteCount value, tRioStatusCode *status) = 0; - virtual void writeAutoByteCount_TxByteCount(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeAutoByteCount_ZeroByteCount(unsigned char value, tRioStatusCode *status) = 0; - virtual tAutoByteCount readAutoByteCount(tRioStatusCode *status) = 0; - virtual unsigned char readAutoByteCount_TxByteCount(tRioStatusCode *status) = 0; - virtual unsigned char readAutoByteCount_ZeroByteCount(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDebugIntStat_IfaceConstants; - - virtual unsigned int readDebugIntStat(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDebugEnabled_IfaceConstants; - - virtual unsigned int readDebugEnabled(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoSPI1Select_IfaceConstants; - - virtual void writeAutoSPI1Select(bool value, tRioStatusCode *status) = 0; - virtual bool readAutoSPI1Select(tRioStatusCode *status) = 0; - - - typedef enum - { - } tDebugSubstate_IfaceConstants; - - virtual unsigned char readDebugSubstate(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoRate_IfaceConstants; - - virtual void writeAutoRate(unsigned int value, tRioStatusCode *status) = 0; - virtual unsigned int readAutoRate(tRioStatusCode *status) = 0; - - - typedef enum - { - } tEnableDIO_IfaceConstants; - - virtual void writeEnableDIO(unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readEnableDIO(tRioStatusCode *status) = 0; - - - typedef enum - { - } tChipSelectActiveHigh_IfaceConstants; - - virtual void writeChipSelectActiveHigh(tChipSelectActiveHigh value, tRioStatusCode *status) = 0; - virtual void writeChipSelectActiveHigh_Hdr(unsigned char value, tRioStatusCode *status) = 0; - virtual void writeChipSelectActiveHigh_MXP(unsigned char value, tRioStatusCode *status) = 0; - virtual tChipSelectActiveHigh readChipSelectActiveHigh(tRioStatusCode *status) = 0; - virtual unsigned char readChipSelectActiveHigh_Hdr(tRioStatusCode *status) = 0; - virtual unsigned char readChipSelectActiveHigh_MXP(tRioStatusCode *status) = 0; - - - typedef enum - { - } tAutoForceOne_IfaceConstants; - - virtual void strobeAutoForceOne(tRioStatusCode *status) = 0; - - - - - typedef enum - { - kNumAutoTxRegisters = 4, - kNumAutoTxElements = 4, - } tAutoTx_IfaceConstants; - - virtual void writeAutoTx(unsigned char reg_index, unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; - virtual unsigned char readAutoTx(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; - - -private: - tSPI(const tSPI&); - void operator=(const tSPI&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_SPI_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSysWatchdog.h b/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSysWatchdog.h deleted file mode 100644 index 02db0aa0ea..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/nRoboRIO_FPGANamespace/tSysWatchdog.h +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. -// Do Not Edit... this file is generated! - -#ifndef __nFRC_2018_18_0_8_SysWatchdog_h__ -#define __nFRC_2018_18_0_8_SysWatchdog_h__ - -#include "../tSystem.h" -#include "../tSystemInterface.h" - -namespace nFPGA -{ -namespace nFRC_2018_18_0_8 -{ - -class tSysWatchdog -{ -public: - tSysWatchdog(){} - virtual ~tSysWatchdog(){} - - virtual tSystemInterface* getSystemInterface() = 0; - static tSysWatchdog* create(tRioStatusCode *status); - - typedef enum - { - kNumSystems = 1, - } tIfaceConstants; - - typedef - union{ - struct{ -#ifdef __vxworks - unsigned SystemActive : 1; - unsigned PowerAlive : 1; - unsigned SysDisableCount : 15; - unsigned PowerDisableCount : 15; -#else - unsigned PowerDisableCount : 15; - unsigned SysDisableCount : 15; - unsigned PowerAlive : 1; - unsigned SystemActive : 1; -#endif - }; - struct{ - unsigned value : 32; - }; - } tStatus; - - - - typedef enum - { - } tStatus_IfaceConstants; - - virtual tStatus readStatus(tRioStatusCode *status) = 0; - virtual bool readStatus_SystemActive(tRioStatusCode *status) = 0; - virtual bool readStatus_PowerAlive(tRioStatusCode *status) = 0; - virtual unsigned short readStatus_SysDisableCount(tRioStatusCode *status) = 0; - virtual unsigned short readStatus_PowerDisableCount(tRioStatusCode *status) = 0; - - - typedef enum - { - } tCommand_IfaceConstants; - - virtual void writeCommand(unsigned short value, tRioStatusCode *status) = 0; - virtual unsigned short readCommand(tRioStatusCode *status) = 0; - - - typedef enum - { - } tChallenge_IfaceConstants; - - virtual unsigned char readChallenge(tRioStatusCode *status) = 0; - - - typedef enum - { - } tActive_IfaceConstants; - - virtual void writeActive(bool value, tRioStatusCode *status) = 0; - virtual bool readActive(tRioStatusCode *status) = 0; - - - typedef enum - { - } tTimer_IfaceConstants; - - virtual unsigned int readTimer(tRioStatusCode *status) = 0; - - - typedef enum - { - } tForcedKills_IfaceConstants; - - virtual unsigned short readForcedKills(tRioStatusCode *status) = 0; - - - - -private: - tSysWatchdog(const tSysWatchdog&); - void operator=(const tSysWatchdog&); -}; - -} -} - -#endif // __nFRC_2018_18_0_8_SysWatchdog_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/printFpgaVersion.h b/ni-libraries/include/FRC_FPGA_ChipObject/printFpgaVersion.h deleted file mode 100644 index 9ef9bf4370..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/printFpgaVersion.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#ifndef __printFPGAVersion_h__ -#define __printFPGAVersion_h__ - -namespace nFPGA -{ - -template -inline void printFPGAVersion(ttGlobal &global) -{ - tRioStatusCode cleanStatus=0; - uint32_t hardwareGuid[4]; - tSystemInterface &system = *global.getSystemInterface(); - system.getHardwareFpgaSignature(hardwareGuid, &cleanStatus); - const uint32_t *softwareGuid = system.getExpectedFPGASignature(); - printf("FPGA Hardware GUID: 0x"); - for(int i=0; i<4; i++) - { - printf("%08X", hardwareGuid[i]); - } - printf("\n"); - printf("FPGA Software GUID: 0x"); - for(int i=0; i<4; i++) - { - printf("%08X", softwareGuid[i]); - } - printf("\n"); - uint16_t fpgaHardwareVersion = global.readVersion(&cleanStatus); - uint16_t fpgaSoftwareVersion = system.getExpectedFPGAVersion(); - printf("FPGA Hardware Version: %X\n", fpgaHardwareVersion); - printf("FPGA Software Version: %X\n", fpgaSoftwareVersion); - uint32_t fpgaHardwareRevision = global.readRevision(&cleanStatus); - uint32_t fpgaSoftwareRevision = system.getExpectedFPGARevision(); - printf("FPGA Hardware Revision: %X.%X.%X\n", (fpgaHardwareRevision >> 20) & 0xFFF, (fpgaHardwareRevision >> 12) & 0xFF, fpgaHardwareRevision & 0xFFF); - printf("FPGA Software Revision: %X.%X.%X\n", (fpgaSoftwareRevision >> 20) & 0xFFF, (fpgaSoftwareRevision >> 12) & 0xFF, fpgaSoftwareRevision & 0xFFF); -} - -} - -#endif // __printFPGAVersion_h__ - diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/tDMAChannelDescriptor.h b/ni-libraries/include/FRC_FPGA_ChipObject/tDMAChannelDescriptor.h deleted file mode 100644 index 2c7f54e867..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/tDMAChannelDescriptor.h +++ /dev/null @@ -1,17 +0,0 @@ -// Describes the information needed to configure a DMA channel. -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#include - -#ifndef __tDMAChannelDescriptor_h__ -#define __tDMAChannelDescriptor_h__ - -struct tDMAChannelDescriptor -{ - uint32_t channel; - uint32_t baseAddress; - uint32_t depth; - bool targetToHost; -}; - -#endif // __tDMAChannelDescriptor_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/tDMAManager.h b/ni-libraries/include/FRC_FPGA_ChipObject/tDMAManager.h deleted file mode 100644 index 7c7f99ee45..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/tDMAManager.h +++ /dev/null @@ -1,53 +0,0 @@ -// Class for handling DMA transfers. -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#ifndef __tDMAManager_h__ -#define __tDMAManager_h__ - -#include "tSystem.h" -#include - -namespace nFPGA -{ -class tDMAManager : public tSystem -{ -public: - tDMAManager(uint32_t dmaChannel, uint32_t hostBufferSize, tRioStatusCode *status); - ~tDMAManager(); - void start(tRioStatusCode *status); - void stop(tRioStatusCode *status); - bool isStarted() {return _started;} - void read( - uint32_t* buf, - size_t num, - uint32_t timeout, - size_t* remaining, - tRioStatusCode *status); - void write( - uint32_t* buf, - size_t num, - uint32_t timeout, - size_t* remaining, - tRioStatusCode *status); - void read( - uint8_t* buf, - size_t num, - uint32_t timeout, - size_t* remaining, - tRioStatusCode *status); - void write( - uint8_t* buf, - size_t num, - uint32_t timeout, - size_t* remaining, - tRioStatusCode *status); -private: - bool _started; - uint32_t _dmaChannel; - uint32_t _hostBufferSize; - -}; - -} - -#endif // __tDMAManager_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/tInterruptManager.h b/ni-libraries/include/FRC_FPGA_ChipObject/tInterruptManager.h deleted file mode 100644 index 6c84b540f4..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/tInterruptManager.h +++ /dev/null @@ -1,61 +0,0 @@ -// Class for handling interrupts. -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#ifndef __tInterruptManager_h__ -#define __tInterruptManager_h__ - -#include "tSystem.h" - -namespace ni -{ - namespace dsc - { - namespace osdep - { - class CriticalSection; - } - } -} - -namespace nFPGA -{ - -typedef void (*tInterruptHandler)(uint32_t interruptAssertedMask, void *param); - -class tInterruptManager : public tSystem -{ -public: - tInterruptManager(uint32_t interruptMask, bool watcher, tRioStatusCode *status); - ~tInterruptManager(); - void registerHandler(tInterruptHandler handler, void *param, tRioStatusCode *status); - uint32_t watch(int32_t timeoutInMs, bool ignorePrevious, tRioStatusCode *status); - void enable(tRioStatusCode *status); - void disable(tRioStatusCode *status); - bool isEnabled(tRioStatusCode *status); -private: - class tInterruptThread; - friend class tInterruptThread; - void handler(); - static int handlerWrapper(tInterruptManager *pInterrupt); - - void acknowledge(tRioStatusCode *status); - void reserve(tRioStatusCode *status); - void unreserve(tRioStatusCode *status); - tInterruptHandler _handler; - uint32_t _interruptMask; - tInterruptThread *_thread; - NiFpga_IrqContext _rioContext; - bool _watcher; - bool _enabled; - void *_userParam; - - // maintain the interrupts that are already dealt with. - static uint32_t _globalInterruptMask; - static ni::dsc::osdep::CriticalSection *_globalInterruptMaskSemaphore; -}; - -} - - -#endif // __tInterruptManager_h__ - diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/tSystem.h b/ni-libraries/include/FRC_FPGA_ChipObject/tSystem.h deleted file mode 100644 index cf54b05009..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/tSystem.h +++ /dev/null @@ -1,48 +0,0 @@ -// Base class for generated chip objects -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#ifndef __tSystem_h__ -#define __tSystem_h__ - -#include "fpgainterfacecapi/NiFpga.h" -typedef NiFpga_Status tRioStatusCode; - -#define FRC_FPGA_PRELOAD_BITFILE - -typedef uint32_t NiFpga_Session; - -namespace nFPGA -{ - -class tSystem -{ -public: - tSystem(tRioStatusCode *status); - ~tSystem(); - void getFpgaGuid(uint32_t *guid_ptr, tRioStatusCode *status); - void reset(tRioStatusCode *status); - -protected: - static NiFpga_Session _DeviceHandle; - -#ifdef FRC_FPGA_PRELOAD_BITFILE - void NiFpga_SharedOpen_common(const char* bitfile); - NiFpga_Status NiFpga_SharedOpen(const char* bitfile, - const char* signature, - const char* resource, - uint32_t attribute, - NiFpga_Session* session); - NiFpga_Status NiFpgaLv_SharedOpen(const char* const bitfile, - const char* const apiSignature, - const char* const resource, - const uint32_t attribute, - NiFpga_Session* const session); -private: - static char *_FileName; - static char *_Bitfile; -#endif -}; - -} - -#endif // __tSystem_h__ diff --git a/ni-libraries/include/FRC_FPGA_ChipObject/tSystemInterface.h b/ni-libraries/include/FRC_FPGA_ChipObject/tSystemInterface.h deleted file mode 100644 index d5a5e6343a..0000000000 --- a/ni-libraries/include/FRC_FPGA_ChipObject/tSystemInterface.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) National Instruments 2008. All Rights Reserved. - -#ifndef __tSystemInterface_h__ -#define __tSystemInterface_h__ - -#include "tDMAChannelDescriptor.h" - -namespace nFPGA -{ - -class tSystemInterface -{ -public: - tSystemInterface(){} - virtual ~tSystemInterface(){} - - virtual const uint16_t getExpectedFPGAVersion()=0; - virtual const uint32_t getExpectedFPGARevision()=0; - virtual const uint32_t * const getExpectedFPGASignature()=0; - virtual void getHardwareFpgaSignature(uint32_t *guid_ptr, tRioStatusCode *status)=0; - virtual uint32_t getLVHandle(tRioStatusCode *status)=0; - virtual uint32_t getHandle()=0; - virtual void reset(tRioStatusCode *status)=0; - virtual void getDmaDescriptor(int dmaChannelDescriptorIndex, tDMAChannelDescriptor *desc)=0; -}; - -} - -#endif // __tSystemInterface_h__ - diff --git a/ni-libraries/include/FRC_NetworkCommunication/AICalibration.h b/ni-libraries/include/FRC_NetworkCommunication/AICalibration.h deleted file mode 100644 index 39755bda89..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/AICalibration.h +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef __AICalibration_h__ -#define __AICalibration_h__ - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - - uint32_t FRC_NetworkCommunication_nAICalibration_getLSBWeight(const uint32_t aiSystemIndex, const uint32_t channel, int32_t *status); - int32_t FRC_NetworkCommunication_nAICalibration_getOffset(const uint32_t aiSystemIndex, const uint32_t channel, int32_t *status); - -#ifdef __cplusplus -} -#endif - -#endif // __AICalibration_h__ diff --git a/ni-libraries/include/FRC_NetworkCommunication/CANInterfacePlugin.h b/ni-libraries/include/FRC_NetworkCommunication/CANInterfacePlugin.h deleted file mode 100644 index f3150fbdf9..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/CANInterfacePlugin.h +++ /dev/null @@ -1,82 +0,0 @@ -// CANInterfacePlugin.h -// -// Defines the API for building a CAN Interface Plugin to support -// PWM-cable-free CAN motor control on FRC robots. This allows you -// to connect any CAN interface to the secure Jaguar CAN driver. -// - -#ifndef __CANInterfacePlugin_h__ -#define __CANInterfacePlugin_h__ - -#include - -#define CAN_IS_FRAME_REMOTE 0x80000000 -#define CAN_IS_FRAME_11BIT 0x40000000 -#define CAN_29BIT_MESSAGE_ID_MASK 0x1FFFFFFF -#define CAN_11BIT_MESSAGE_ID_MASK 0x000007FF - -class CANInterfacePlugin -{ -public: - CANInterfacePlugin() {} - virtual ~CANInterfacePlugin() {} - - /** - * This entry-point of the CANInterfacePlugin is passed a message that the driver needs to send to - * a device on the CAN bus. - * - * This function may be called from multiple contexts and must therefore be reentrant. - * - * @param messageID The 29-bit CAN message ID in the lsbs. The msb can indicate a remote frame. - * @param data A pointer to a buffer containing between 0 and 8 bytes to send with the message. May be NULL if dataSize is 0. - * @param dataSize The number of bytes to send with the message. - * @return Return any error code. On success return 0. - */ - virtual int32_t sendMessage(uint32_t messageID, const uint8_t *data, uint8_t dataSize) = 0; - - /** - * This entry-point of the CANInterfacePlugin is passed buffers which should be populated with - * any received messages from devices on the CAN bus. - * - * This function is always called by a single task in the Jaguar driver, so it need not be reentrant. - * - * This function is expected to block for some period of time waiting for a message from the CAN bus. - * It may timeout periodically (returning non-zero to indicate no message was populated) to allow for - * shutdown and unloading of the plugin. - * - * @param messageID A reference to be populated with a received 29-bit CAN message ID in the lsbs. - * @param data A pointer to a buffer of 8 bytes to be populated with data received with the message. - * @param dataSize A reference to be populated with the size of the data received (0 - 8 bytes). - * @return This should return 0 if a message was populated, non-0 if no message was not populated. - */ - virtual int32_t receiveMessage(uint32_t &messageID, uint8_t *data, uint8_t &dataSize) = 0; - -#if defined(__linux) - /** - * This entry-point of the CANInterfacePlugin returns status of the CAN bus. - * - * This function may be called from multiple contexts and must therefore be reentrant. - * - * This function will return detailed hardware status if available for diagnostics of the CAN interface. - * - * @param busOffCount The number of times that sendMessage failed with a busOff error indicating that messages - * are not successfully transmitted on the bus. - * @param txFullCount The number of times that sendMessage failed with a txFifoFull error indicating that messages - * are not successfully received by any CAN device. - * @param receiveErrorCount The count of receive errors as reported by the CAN driver. - * @param transmitErrorCount The count of transmit errors as reported by the CAN driver. - * @return This should return 0 if all status was retrieved successfully or an error code if not. - */ - virtual int32_t getStatus(uint32_t &busOffCount, uint32_t &txFullCount, uint32_t &receiveErrorCount, uint32_t &transmitErrorCount) {return 0;} -#endif -}; - -/** - * This function allows you to register a CANInterfacePlugin to provide access a CAN bus. - * - * @param interface A pointer to an object that inherits from CANInterfacePlugin and implements - * the pure virtual interface. If NULL, unregister the current plugin. - */ -void FRC_NetworkCommunication_CANSessionMux_registerInterface(CANInterfacePlugin* interface); - -#endif // __CANInterfacePlugin_h__ diff --git a/ni-libraries/include/FRC_NetworkCommunication/CANSessionMux.h b/ni-libraries/include/FRC_NetworkCommunication/CANSessionMux.h deleted file mode 100644 index fe4cde0c8a..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/CANSessionMux.h +++ /dev/null @@ -1,66 +0,0 @@ -// CANSessionMux.h -// -// Defines the API for building a CAN Interface Plugin to support -// PWM-cable-free CAN motor control on FRC robots. This allows you -// to connect any CAN interface to the secure Jaguar CAN driver. -// - -#ifndef __CANSessionMux_h__ -#define __CANSessionMux_h__ - -#if defined(__vxworks) -#include -#else -#include -#endif - -#define CAN_SEND_PERIOD_NO_REPEAT 0 -#define CAN_SEND_PERIOD_STOP_REPEATING -1 - -/* Flags in the upper bits of the messageID */ -#define CAN_IS_FRAME_REMOTE 0x80000000 -#define CAN_IS_FRAME_11BIT 0x40000000 - -#define ERR_CANSessionMux_InvalidBuffer -44086 -#define ERR_CANSessionMux_MessageNotFound -44087 -#define WARN_CANSessionMux_NoToken 44087 -#define ERR_CANSessionMux_NotAllowed -44088 -#define ERR_CANSessionMux_NotInitialized -44089 -#define ERR_CANSessionMux_SessionOverrun 44050 - -struct tCANStreamMessage{ - uint32_t messageID; - uint32_t timeStamp; - uint8_t data[8]; - uint8_t dataSize; -}; - -#ifdef __cplusplus -namespace nCANSessionMux -{ - void sendMessage_wrapper(uint32_t messageID, const uint8_t *data, uint8_t dataSize, int32_t periodMs, int32_t *status); - void receiveMessage_wrapper(uint32_t *messageID, uint32_t messageIDMask, uint8_t *data, uint8_t *dataSize, uint32_t *timeStamp, int32_t *status); - void openStreamSession(uint32_t *sessionHandle, uint32_t messageID, uint32_t messageIDMask, uint32_t maxMessages, int32_t *status); - void closeStreamSession(uint32_t sessionHandle); - void readStreamSession(uint32_t sessionHandle, struct tCANStreamMessage *messages, uint32_t messagesToRead, uint32_t *messagesRead, int32_t *status); - void getCANStatus(float *percentBusUtilization, uint32_t *busOffCount, uint32_t *txFullCount, uint32_t *receiveErrorCount, uint32_t *transmitErrorCount, int32_t *status); -} -#endif - -#ifdef __cplusplus -extern "C" -{ -#endif - - void FRC_NetworkCommunication_CANSessionMux_sendMessage(uint32_t messageID, const uint8_t *data, uint8_t dataSize, int32_t periodMs, int32_t *status); - void FRC_NetworkCommunication_CANSessionMux_receiveMessage(uint32_t *messageID, uint32_t messageIDMask, uint8_t *data, uint8_t *dataSize, uint32_t *timeStamp, int32_t *status); - void FRC_NetworkCommunication_CANSessionMux_openStreamSession(uint32_t *sessionHandle, uint32_t messageID, uint32_t messageIDMask, uint32_t maxMessages, int32_t *status); - void FRC_NetworkCommunication_CANSessionMux_closeStreamSession(uint32_t sessionHandle); - void FRC_NetworkCommunication_CANSessionMux_readStreamSession(uint32_t sessionHandle, struct tCANStreamMessage *messages, uint32_t messagesToRead, uint32_t *messagesRead, int32_t *status); - void FRC_NetworkCommunication_CANSessionMux_getCANStatus(float *percentBusUtilization, uint32_t *busOffCount, uint32_t *txFullCount, uint32_t *receiveErrorCount, uint32_t *transmitErrorCount, int32_t *status); - -#ifdef __cplusplus -} -#endif - -#endif // __CANSessionMux_h__ diff --git a/ni-libraries/include/FRC_NetworkCommunication/FRCComm.h b/ni-libraries/include/FRC_NetworkCommunication/FRCComm.h deleted file mode 100644 index 27220cb6aa..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/FRCComm.h +++ /dev/null @@ -1,165 +0,0 @@ -/************************************************************* - * NOTICE - * - * These are the only externally exposed functions to the - * NetworkCommunication library - * - * This is an implementation of FRC Spec for Comm Protocol - * Revision 4.5, June 30, 2008 - * - * Copyright (c) National Instruments 2008. All Rights Reserved. - * - *************************************************************/ - -#ifndef __FRC_COMM_H__ -#define __FRC_COMM_H__ - -#ifdef _WIN32 -#include -#ifdef USE_THRIFT -# define EXPORT_FUNC -# else -# define EXPORT_FUNC __declspec(dllexport) __cdecl -# endif -#elif defined(__vxworks) -# include -# define EXPORT_FUNC -#elif defined(__linux) -# include -# include -# define EXPORT_FUNC -#endif - -#define ERR_FRCSystem_NetCommNotResponding -44049 -#define ERR_FRCSystem_NoDSConnection -44018 - -#ifdef _WIN32 -# define __DEPRECATED__ __declspec(deprecated) -#else -# define __DEPRECATED__ __attribute__((__deprecated__)) -#endif - -enum AllianceStationID_t { - kAllianceStationID_red1, - kAllianceStationID_red2, - kAllianceStationID_red3, - kAllianceStationID_blue1, - kAllianceStationID_blue2, - kAllianceStationID_blue3, -}; - -enum MatchType_t { - kMatchType_none, - kMatchType_practice, - kMatchType_qualification, - kMatchType_elimination, -}; - -struct ControlWord_t { -#ifndef __vxworks - uint32_t enabled : 1; - uint32_t autonomous : 1; - uint32_t test :1; - uint32_t eStop : 1; - uint32_t fmsAttached:1; - uint32_t dsAttached:1; - uint32_t control_reserved : 26; -#else - uint32_t control_reserved : 26; - uint32_t dsAttached:1; - uint32_t fmsAttached:1; - uint32_t eStop : 1; - uint32_t test :1; - uint32_t autonomous : 1; - uint32_t enabled : 1; -#endif -}; - -struct JoystickAxes_t { - uint16_t count; - int16_t axes[1]; -}; - -struct JoystickPOV_t { - uint16_t count; - int16_t povs[1]; -}; - -#ifdef __cplusplus -extern "C" { -#endif - int EXPORT_FUNC FRC_NetworkCommunication_Reserve(void *instance); -#ifndef SIMULATION - void EXPORT_FUNC getFPGAHardwareVersion(uint16_t *fpgaVersion, uint32_t *fpgaRevision); -#endif - /** - * Safely copy data into the status packet to be sent back to the driver station. - * @deprecated battery is the only parameter to this function that is still used, and only on cRIO / simulation. - */ - __DEPRECATED__ int EXPORT_FUNC setStatusData(float battery, uint8_t dsDigitalOut, uint8_t updateNumber, - const char *userDataHigh, int userDataHighLength, - const char *userDataLow, int userDataLowLength, int wait_ms); - /** - * Send error data to the DS - * @deprecated This old method is hard to parse on the DS side. It will be removed soon. Use FRC_NetworkCommunication_sendError instead. - * @param errorData is a cstr of the error message - * @param errorDataLength is the length of the errorData - * @param wait_ms is ignored (included for binary compatibility) - * @return 0 on success, 1 on no DS connection - */ - __DEPRECATED__ int EXPORT_FUNC setErrorData(const char *errors, int errorsLength, int wait_ms); - - /** - * Send a console output line to the Driver Station - * @param line a null-terminated string - * @return 0 on success, other on failure - */ - int EXPORT_FUNC FRC_NetworkCommunication_sendConsoleLine(const char *line); - - /** - * Send an error to the Driver Station - * @param isError true if error, false if warning - * @param errorCode value of error condition - * @param isLVCode true if error code is defined in errors.txt, false if not (i.e. made up for C++) - * @param details error description that contains details such as which resource number caused the failure - * @param location Source file, function, and line number that the error was generated - optional - * @param callStack The details about what functions were called through before the error was reported - optional - * @return 0 on success, other on failure - */ - int EXPORT_FUNC FRC_NetworkCommunication_sendError(int isError, int32_t errorCode, int isLVCode, - const char *details, const char *location, const char *callStack); - -#ifdef _WIN32 - void EXPORT_FUNC setNewDataSem(HANDLE); -#elif defined (__vxworks) - void EXPORT_FUNC setNewDataSem(SEM_ID); -#else - void EXPORT_FUNC setNewDataSem(pthread_cond_t *); -#endif - - // this uint32_t is really a LVRefNum - int EXPORT_FUNC setNewDataOccurRef(uint32_t refnum); - - int EXPORT_FUNC FRC_NetworkCommunication_getControlWord(struct ControlWord_t *controlWord); - int EXPORT_FUNC FRC_NetworkCommunication_getAllianceStation(enum AllianceStationID_t *allianceStation); - int EXPORT_FUNC FRC_NetworkCommunication_getMatchInfo(char *eventName, enum MatchType_t *matchType, uint16_t *matchNumber, uint8_t *replayNumber, - uint8_t *gameSpecificMessage, uint16_t *gameSpecificMessageSize); - int EXPORT_FUNC FRC_NetworkCommunication_getMatchTime(float *matchTime); - int EXPORT_FUNC FRC_NetworkCommunication_getJoystickAxes(uint8_t joystickNum, struct JoystickAxes_t *axes, uint8_t maxAxes); - int EXPORT_FUNC FRC_NetworkCommunication_getJoystickButtons(uint8_t joystickNum, uint32_t *buttons, uint8_t *count); - int EXPORT_FUNC FRC_NetworkCommunication_getJoystickPOVs(uint8_t joystickNum, struct JoystickPOV_t *povs, uint8_t maxPOVs); - int EXPORT_FUNC FRC_NetworkCommunication_setJoystickOutputs(uint8_t joystickNum, uint32_t hidOutputs, uint16_t leftRumble, uint16_t rightRumble); - int EXPORT_FUNC FRC_NetworkCommunication_getJoystickDesc(uint8_t joystickNum, uint8_t *isXBox, uint8_t *type, char *name, - uint8_t *axisCount, uint8_t *axisTypes, uint8_t *buttonCount, uint8_t *povCount); - - void EXPORT_FUNC FRC_NetworkCommunication_getVersionString(char *version); - int EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramStarting(void); - void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramDisabled(void); - void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramAutonomous(void); - void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTeleop(void); - void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTest(void); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ni-libraries/include/FRC_NetworkCommunication/LoadOut.h b/ni-libraries/include/FRC_NetworkCommunication/LoadOut.h deleted file mode 100644 index 97fbe51b27..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/LoadOut.h +++ /dev/null @@ -1,58 +0,0 @@ - -#ifndef __LoadOut_h__ -#define __LoadOut_h__ - -#ifdef _WIN32 -#include -#define EXPORT_FUNC __declspec(dllexport) __cdecl -#elif defined (__vxworks) -#include -#define EXPORT_FUNC -#else -#include -#define EXPORT_FUNC -#endif - -#define kMaxModuleNumber 2 -namespace nLoadOut -{ -#if defined(__vxworks) || 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(__vxworks) || 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(__vxworks) || 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__ diff --git a/ni-libraries/include/FRC_NetworkCommunication/NetCommRPCProxy_Occur.h b/ni-libraries/include/FRC_NetworkCommunication/NetCommRPCProxy_Occur.h deleted file mode 100644 index bfb44fc9cd..0000000000 --- a/ni-libraries/include/FRC_NetworkCommunication/NetCommRPCProxy_Occur.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#ifdef __cplusplus -extern "C" { -#endif - -void NetCommRPCProxy_SetOccurFuncPointer(void (*Occur)(uint32_t)); - -#ifdef __cplusplus -} -#endif diff --git a/ni-libraries/lib/libFRC_NetworkCommunication.so.18.0.0 b/ni-libraries/lib/libFRC_NetworkCommunication.so.18.0.0 deleted file mode 100644 index f45f6df733..0000000000 Binary files a/ni-libraries/lib/libFRC_NetworkCommunication.so.18.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libNiFpga.so.17.0.0 b/ni-libraries/lib/libNiFpga.so.17.0.0 deleted file mode 100644 index 736d0ccd67..0000000000 Binary files a/ni-libraries/lib/libNiFpga.so.17.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libNiFpgaLv.so.17.0.0 b/ni-libraries/lib/libNiFpgaLv.so.17.0.0 deleted file mode 100644 index d3dedfaf7d..0000000000 Binary files a/ni-libraries/lib/libNiFpgaLv.so.17.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libNiRioSrv.so.17.0.0 b/ni-libraries/lib/libNiRioSrv.so.17.0.0 deleted file mode 100644 index 323fae8b9a..0000000000 Binary files a/ni-libraries/lib/libNiRioSrv.so.17.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libRoboRIO_FRC_ChipObject.so.18.0.0 b/ni-libraries/lib/libRoboRIO_FRC_ChipObject.so.18.0.0 deleted file mode 100644 index c2cf944e8f..0000000000 Binary files a/ni-libraries/lib/libRoboRIO_FRC_ChipObject.so.18.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libniriodevenum.so.17.0.0 b/ni-libraries/lib/libniriodevenum.so.17.0.0 deleted file mode 100644 index 4677e2742d..0000000000 Binary files a/ni-libraries/lib/libniriodevenum.so.17.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libniriosession.so.17.0.0 b/ni-libraries/lib/libniriosession.so.17.0.0 deleted file mode 100644 index cf11484178..0000000000 Binary files a/ni-libraries/lib/libniriosession.so.17.0.0 and /dev/null differ diff --git a/ni-libraries/lib/libvisa.so b/ni-libraries/lib/libvisa.so deleted file mode 100644 index a05d1723c9..0000000000 Binary files a/ni-libraries/lib/libvisa.so and /dev/null differ diff --git a/ni-libraries/publish.gradle b/ni-libraries/publish.gradle deleted file mode 100644 index 45b67877db..0000000000 --- a/ni-libraries/publish.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: 'maven-publish' - -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - -def baseArtifactId = 'ni-libraries' -def artifactGroupId = 'edu.wpi.first.ni-libraries' - -publishing { - publications { - nilibraries(MavenPublication) { - artifact libZip - artifact headersZip - - artifactId = "${baseArtifactId}" - groupId artifactGroupId - version pubVersion - } - } -} diff --git a/settings.gradle b/settings.gradle index 2f3e447dbc..3f72631d11 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,6 @@ pluginManagement { } enableFeaturePreview('STABLE_PUBLISHING') -include 'ni-libraries' include 'wpiutil' include 'ntcore' include 'hal' diff --git a/shared/jni/setupBuild.gradle b/shared/jni/setupBuild.gradle index 905542808f..4a8f6925c9 100644 --- a/shared/jni/setupBuild.gradle +++ b/shared/jni/setupBuild.gradle @@ -30,6 +30,18 @@ staticGtestConfigs["${nativeName}Test"] = [] apply from: "${rootDir}/shared/googletest.gradle" +if (project.hasProperty('niLibraries')) { + ext { + chipObjectComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}JNI".toString(), "${nativeName}Test".toString()] + netCommComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}JNI".toString(), "${nativeName}Test".toString()] + useNiJava = true + } + + apply from: "${rootDir}/shared/nilibraries.gradle" +} + model { components { "${nativeName}Base"(JniNativeLibrarySpec) { @@ -45,7 +57,10 @@ model { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/main/native/include' + srcDir 'src/main/native/include' + if (project.hasProperty('generatedHeaders')) { + srcDir generatedHeaders + } } } } @@ -58,9 +73,6 @@ model { if (project.hasProperty('splitSetup')) { splitSetup(it) } - if (project.hasProperty('niLibraries')) { - project(':ni-libraries').addNiLibrariesToLinker(it) - } } } "${nativeName}"(JniNativeLibrarySpec) { @@ -77,15 +89,15 @@ model { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/main/native/include' + srcDir 'src/main/native/include' + if (project.hasProperty('generatedHeaders')) { + srcDir generatedHeaders + } } } } binaries.all { lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - if (project.hasProperty('niLibraries')) { - project(':ni-libraries').addNiLibrariesToLinker(it) - } } } "${nativeName}JNI"(JniNativeLibrarySpec) { @@ -104,7 +116,10 @@ model { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/main/native/include' + srcDir 'src/main/native/include' + if (project.hasProperty('generatedHeaders')) { + srcDir generatedHeaders + } } } } @@ -127,14 +142,14 @@ model { include '**/*.cpp' } exportedHeaders { - srcDirs 'src/dev/native/include' + srcDir 'src/main/native/include' + if (project.hasProperty('generatedHeaders')) { + srcDir generatedHeaders + } } } } binaries.all { - if (project.hasProperty('niLibraries')) { - project(':ni-libraries').addNiLibrariesToLinker(it) - } lib library: nativeName, linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' } @@ -156,6 +171,9 @@ model { } exportedHeaders { srcDirs 'src/test/native/include', 'src/main/native/cpp' + if (project.hasProperty('generatedHeaders')) { + srcDir generatedHeaders + } } } } diff --git a/shared/nilibraries.gradle b/shared/nilibraries.gradle new file mode 100644 index 0000000000..f8fc00e1c0 --- /dev/null +++ b/shared/nilibraries.gradle @@ -0,0 +1,33 @@ +def netCommLibConfigs = [:]; +def chipObjectConfigs = [:]; + +project.chipObjectComponents.each { String s-> + chipObjectConfigs[s] = ['linux:athena'] +} + +project.netCommComponents.each { String s-> + netCommLibConfigs[s] = ['linux:athena'] +} + +model { + dependencyConfigs { + chipobject(DependencyConfig) { + groupId = 'edu.wpi.first.ni-libraries' + artifactId = 'chipobject' + headerClassifier = 'headers' + ext = 'zip' + version = '2018.17.0' + sharedConfigs = chipObjectConfigs + staticConfigs = [:] + } + netcomm(DependencyConfig) { + groupId = 'edu.wpi.first.ni-libraries' + artifactId = 'netcomm-cpp' + headerClassifier = 'headers' + ext = 'zip' + version = '2018.17.0' + sharedConfigs = netCommLibConfigs + staticConfigs = [:] + } + } +} diff --git a/shared/plugins/setupBuild.gradle b/shared/plugins/setupBuild.gradle index 706ce40a2c..f79292ecc3 100644 --- a/shared/plugins/setupBuild.gradle +++ b/shared/plugins/setupBuild.gradle @@ -2,6 +2,14 @@ apply plugin: 'cpp' apply plugin: 'edu.wpi.first.NativeUtils' apply plugin: ExtraTasks +ext { + chipObjectComponents = ["$pluginName".toString(), "${pluginName}Dev".toString(), "${pluginName}Test".toString()] + netCommComponents = ["$pluginName".toString(), "${pluginName}Dev".toString(), "${pluginName}Test".toString()] + useNiJava = false +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + if (!project.hasProperty('onlyAthena')) { ext.skipAthena = true apply from: "${rootDir}/shared/config.gradle" @@ -25,7 +33,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') if (project.hasProperty('includeNtCore')) { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' } @@ -47,7 +55,7 @@ if (!project.hasProperty('onlyAthena')) { } } binaries.all { - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib library: pluginName if (project.hasProperty('includeNtCore')) { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' diff --git a/simulation/halsim_adx_gyro_accelerometer/build.gradle b/simulation/halsim_adx_gyro_accelerometer/build.gradle index 15def41f42..fc6a6fd06e 100644 --- a/simulation/halsim_adx_gyro_accelerometer/build.gradle +++ b/simulation/halsim_adx_gyro_accelerometer/build.gradle @@ -29,6 +29,13 @@ if (!project.hasProperty('onlyAthena')) { project(':').libraryBuild.dependsOn build + ext { + chipObjectComponents = ["$nativeName".toString(), "${nativeName}Base".toString(), "${nativeName}Dev".toString(), "${nativeName}Test".toString()] + netCommComponents = ["$nativeName".toString(), "${nativeName}Base".toString(), "${nativeName}Dev".toString(), "${nativeName}Test".toString()] + useNiJava = false + } + + apply from: "${rootDir}/shared/nilibraries.gradle" model { exportsConfigs { @@ -65,7 +72,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' } } @@ -86,7 +93,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' } } @@ -110,7 +117,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib library: nativeName, linkage: 'shared' } @@ -120,11 +127,10 @@ if (!project.hasProperty('onlyAthena')) { withType(GoogleTestTestSuiteBinarySpec) { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(it) lib library: nativeName, linkage: 'shared' } } diff --git a/simulation/halsim_ds_socket/build.gradle b/simulation/halsim_ds_socket/build.gradle index b0bda120ec..9fe7650fb1 100644 --- a/simulation/halsim_ds_socket/build.gradle +++ b/simulation/halsim_ds_socket/build.gradle @@ -45,7 +45,7 @@ model { } binaries { withType(GoogleTestTestSuiteBinarySpec) { - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib library: pluginName, linkage: 'shared' } diff --git a/simulation/lowfi_simulation/build.gradle b/simulation/lowfi_simulation/build.gradle index 6c0f064c80..2b6ae428d4 100644 --- a/simulation/lowfi_simulation/build.gradle +++ b/simulation/lowfi_simulation/build.gradle @@ -30,6 +30,15 @@ if (!project.hasProperty('onlyAthena')) { project(':').libraryBuild.dependsOn build + ext { + chipObjectComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}Test".toString()] + netCommComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}Test".toString()] + useNiJava = false + } + + apply from: "${rootDir}/shared/nilibraries.gradle" model { exportsConfigs { @@ -66,7 +75,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':simulation:halsim_adx_gyro_accelerometer', library: 'halsim_adx_gyro_accelerometer', linkage: 'shared' } @@ -88,7 +97,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':simulation:halsim_adx_gyro_accelerometer', library: 'halsim_adx_gyro_accelerometer', linkage: 'shared' } @@ -113,7 +122,7 @@ if (!project.hasProperty('onlyAthena')) { it.buildable = false return } - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':simulation:halsim_adx_gyro_accelerometer', library: 'halsim_adx_gyro_accelerometer', linkage: 'shared' lib library: nativeName, linkage: 'shared' @@ -124,7 +133,7 @@ if (!project.hasProperty('onlyAthena')) { withType(GoogleTestTestSuiteBinarySpec) { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' diff --git a/wpilibc/build.gradle b/wpilibc/build.gradle index 748f17598f..fce31393f6 100644 --- a/wpilibc/build.gradle +++ b/wpilibc/build.gradle @@ -71,6 +71,16 @@ staticGtestConfigs["${nativeName}Test"] = [] apply from: "${rootDir}/shared/googletest.gradle" +ext { + chipObjectComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}Test".toString()] + netCommComponents = ["$nativeName".toString(), "${nativeName}Dev".toString(), "${nativeName}Base".toString(), + "${nativeName}Test".toString()] + useNiJava = false +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + model { exportsConfigs { wpilibc(ExportsConfig) { @@ -104,10 +114,9 @@ model { } lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(it) } } "${nativeName}"(NativeLibrarySpec) { @@ -125,10 +134,9 @@ model { binaries.all { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(it) } } // By default, a development executable will be generated. This is to help the case of @@ -149,10 +157,9 @@ model { binaries.all { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(it) } } } @@ -196,10 +203,9 @@ model { if (!project.hasProperty('onlyAthena')) { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(it) lib library: nativeName, linkage: 'shared' } else { it.buildable = false diff --git a/wpilibcExamples/build.gradle b/wpilibcExamples/build.gradle index a0636c776d..ae8973b38c 100644 --- a/wpilibcExamples/build.gradle +++ b/wpilibcExamples/build.gradle @@ -39,6 +39,21 @@ ext { apply from: "${rootDir}/shared/opencv.gradle" +ext { + chipObjectComponents = ['commands'] + netCommComponents = ['commands'] + examplesMap.each { key, value -> + chipObjectComponents << key.toString() + netCommComponents << key.toString() + } + templatesMap.each { key, value -> + chipObjectComponents << key.toString() + netCommComponents << key.toString() + } +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + model { components { commands(NativeLibrarySpec) { @@ -50,10 +65,9 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(binary, 'shared') lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(binary) } sources { cpp { @@ -75,10 +89,9 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(binary, 'shared') lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(binary) if (binary.targetPlatform.architecture.name != 'athena') { lib project: ':simulation:halsim_lowfi', library: 'halsim_lowfi', linkage: 'shared' lib project: ':simulation:halsim_adx_gyro_accelerometer', library: 'halsim_adx_gyro_accelerometer', linkage: 'shared' @@ -106,7 +119,7 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(binary, 'shared') lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' binary.tasks.withType(CppCompile) { @@ -114,7 +127,6 @@ model { cppCompiler.args "-Wno-error=deprecated-declarations" } } - project(':ni-libraries').addNiLibrariesToLinker(binary) if (binary.targetPlatform.architecture.name != 'athena') { lib project: ':simulation:halsim_lowfi', library: 'halsim_lowfi', linkage: 'shared' lib project: ':simulation:halsim_adx_gyro_accelerometer', library: 'halsim_adx_gyro_accelerometer', linkage: 'shared' diff --git a/wpilibcIntegrationTests/build.gradle b/wpilibcIntegrationTests/build.gradle index 496e42599a..2ad5863776 100644 --- a/wpilibcIntegrationTests/build.gradle +++ b/wpilibcIntegrationTests/build.gradle @@ -19,6 +19,14 @@ apply from: "${rootDir}/shared/opencv.gradle" apply from: "${rootDir}/shared/googletest.gradle" +ext { + chipObjectComponents = ['wpilibcIntegrationTests'] + netCommComponents = ['wpilibcIntegrationTests'] + useNiJava = false +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + model { components { wpilibcIntegrationTests(NativeExecutableSpec) { @@ -45,10 +53,9 @@ model { lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared' lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' + project(':hal').addHalDependency(binary, 'shared') lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - project(':ni-libraries').addNiLibrariesToLinker(binary) } else { binary.sources { simCpp(CppSourceSet) { diff --git a/wpilibj/build.gradle b/wpilibj/build.gradle index f6bbaae63d..1d414b80d8 100644 --- a/wpilibj/build.gradle +++ b/wpilibj/build.gradle @@ -83,6 +83,14 @@ ext { useCpp = true } +ext { + chipObjectComponents = ['wpilibjDev'] + netCommComponents = ['wpilibjDev'] + useNiJava = true +} + +apply from: "${rootDir}/shared/nilibraries.gradle" + apply from: "${rootDir}/shared/opencv.gradle" model { @@ -96,7 +104,6 @@ model { lib project: ':ntcore', library: 'ntcore', linkage: 'shared' lib project: ':cscore', library: 'cscore', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - lib project: ':hal', library: 'hal', linkage: 'shared' lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' } exportedHeaders { @@ -105,7 +112,7 @@ model { } } binaries.all { - project(':ni-libraries').addNiLibrariesToLinker(it) + project(':hal').addHalDependency(it, 'shared') } } }