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')
}
}
}