Update for latest image, not sure about ctre folder so leaving

Change-Id: If2218df082bca93d25b88088696d6c2897732efd

Adding FRC Local new mdns name

Change-Id: I53d206879663b96009ba3a12de161b7a425ffd10

Adding rpath for new libstdc++

Change-Id: I0c022efb0b15f094d153b44f60215ca00d5f1924
This commit is contained in:
Patrick Plenefisch
2015-09-27 14:09:17 -04:00
committed by Brad Miller (WPI)
parent 89ae8f214e
commit 9f859234fb
133 changed files with 505 additions and 233 deletions

View File

@@ -125,7 +125,7 @@ public class WPILibCore extends AbstractUIPlugin {
return target;
else {
int teamNumber = getTeamNumber(project);
return "roborio-" + teamNumber + ".local";
return "roborio-" + teamNumber + "-FRC.local";
}
}

View File

@@ -47,7 +47,7 @@
<option id="gnu.cpp.link.option.paths.1566479969" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${WPILIB}/cpp/current/lib&quot;"/>
</option>
<option id="gnu.cpp.link.option.flags.675338432" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Wl,-rpath,/opt/GenICam_v2_3/bin/Linux_armv7-a" valueType="string"/>
<option id="gnu.cpp.link.option.flags.675338432" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Wl,-rpath,/opt/GenICam_v2_3/bin/Linux_armv7-a,-rpath,/usr/local/frc/rpath-lib" valueType="string"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.132949138" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>

View File

@@ -18,7 +18,7 @@ public class RSEUtils {
// The ip address based on the team number
//String hostName = "10."+(teamNumber/100)+"."+(teamNumber%100)+".2";
//String connectionName = hostName; //"Team "+teamNumber;
String hostName = "roboRIO-" + teamNumber + ".local";
String hostName = "roboRIO-" + teamNumber + "-FRC.local";
String connectionName = hostName;
// get the singleton RSE registry

View File

@@ -20,7 +20,7 @@
<target name="get-target-ip">
<property name="ant.enable.asserts" value="true"/>
<property name="target" value="roboRIO-${team-number}.local" />
<property name="target" value="roboRIO-${team-number}-FRC.local" />
<echo>Trying Target: ${target}</echo>
<if>
<isreachable host="${target}" timeout="5"/>

View File

@@ -20,7 +20,7 @@
<target name="get-target-ip">
<property name="ant.enable.asserts" value="true"/>
<property name="target" value="roboRIO-${team-number}.local" />
<property name="target" value="roboRIO-${team-number}-FRC.local" />
<echo>Trying Target: ${target}</echo>
<if>
<isreachable host="${target}" timeout="5"/>

View File

@@ -1,7 +1,7 @@
#pragma once
#include <stdint.h>
#include "NetworkCommunication/CANSessionMux.h"
#include "FRC_NetworkCommunication/CANSessionMux.h"
void canTxSend(uint32_t arbID, uint8_t length, int32_t period = CAN_SEND_PERIOD_NO_REPEAT);

View File

@@ -73,7 +73,7 @@
#define CanTalonSRX_H_
#include "ctre/ctre.h" //BIT Defines + Typedefs
#include "ctre/CtreCanNode.h"
#include <NetworkCommunication/CANSessionMux.h> //CAN Comm
#include <FRC_NetworkCommunication/CANSessionMux.h> //CAN Comm
#include <map>
#include <atomic>
class CanTalonSRX : public CtreCanNode

View File

@@ -6,8 +6,8 @@
#include "HAL/HAL.hpp"
#include "ChipObject.h"
#include "HAL/cpp/Resource.hpp"
#include "NetworkCommunication/AICalibration.h"
#include "NetworkCommunication/LoadOut.h"
#include "FRC_NetworkCommunication/AICalibration.h"
#include "FRC_NetworkCommunication/LoadOut.h"
static const long kTimebase = 40000000; ///< 40 MHz clock
static const long kDefaultOversampleBits = 0;

View File

@@ -6,7 +6,7 @@
#include "ChipObject.h"
#include "HAL/cpp/Resource.hpp"
#include "HAL/cpp/priority_mutex.h"
#include "NetworkCommunication/LoadOut.h"
#include "FRC_NetworkCommunication/LoadOut.h"
#include <stdio.h>
#include <math.h>
#include <mutex>

View File

@@ -4,6 +4,6 @@
#ifndef __RoboRIO_FRC_ChipObject_Aliases_h__
#define __RoboRIO_FRC_ChipObject_Aliases_h__
#define nRoboRIO_FPGANamespace nFRC_2015_1_0_A
#define nRoboRIO_FPGANamespace nFRC_2016_16_0_0
#endif // __RoboRIO_FRC_ChipObject_Aliases_h__

View File

@@ -1,7 +1,7 @@
/*
* FPGA Interface C API 14.0 header file.
* FPGA Interface C API 15.0 header file.
*
* Copyright (c) 2014,
* Copyright (c) 2015,
* National Instruments Corporation.
* All rights reserved.
*/
@@ -431,6 +431,13 @@ static const NiFpga_Status NiFpga_Status_GatedClockHandshakingViolation = -61216
*/
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;
/**
* An unexpected internal error occurred.
*/
@@ -514,10 +521,12 @@ static const NiFpga_Status NiFpga_Status_BitfileReadError = -63101;
static const NiFpga_Status NiFpga_Status_SignatureMismatch = -63106;
/**
* The bitfile you are trying to use is not compatible with the version of
* NI-RIO installed on the target and/or the host. Determine which versions of
* NI-RIO and LabVIEW were used to make the bitfile, update the software on the
* target and host to that version or later, and try again.
* 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;
@@ -558,7 +567,7 @@ static const NiFpga_Status NiFpga_Status_OutOfHandles = -63198;
*/
static NiFpga_Inline NiFpga_Bool NiFpga_IsError(const NiFpga_Status status)
{
return status < NiFpga_Status_Success;
return status < NiFpga_Status_Success ? NiFpga_True : NiFpga_False;
}
/**
@@ -569,7 +578,7 @@ static NiFpga_Inline NiFpga_Bool NiFpga_IsError(const NiFpga_Status status)
*/
static NiFpga_Inline NiFpga_Bool NiFpga_IsNotError(const NiFpga_Status status)
{
return status >= NiFpga_Status_Success;
return status >= NiFpga_Status_Success ? NiFpga_True : NiFpga_False;
}
/**

View File

@@ -1,15 +1,15 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_nInterfaceGlobals_h__
#define __nFRC_2015_1_0_A_nInterfaceGlobals_h__
#ifndef __nFRC_2016_16_0_0_nInterfaceGlobals_h__
#define __nFRC_2016_16_0_0_nInterfaceGlobals_h__
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
extern unsigned int g_currentTargetClass;
}
}
#endif // __nFRC_2015_1_0_A_nInterfaceGlobals_h__
#endif // __nFRC_2016_16_0_0_nInterfaceGlobals_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_AI_h__
#define __nFRC_2015_1_0_A_AI_h__
#ifndef __nFRC_2016_16_0_0_AI_h__
#define __nFRC_2016_16_0_0_AI_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAI
@@ -140,4 +140,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_AI_h__
#endif // __nFRC_2016_16_0_0_AI_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_AO_h__
#define __nFRC_2015_1_0_A_AO_h__
#ifndef __nFRC_2016_16_0_0_AO_h__
#define __nFRC_2016_16_0_0_AO_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAO
@@ -47,4 +47,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_AO_h__
#endif // __nFRC_2016_16_0_0_AO_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Accel_h__
#define __nFRC_2015_1_0_A_Accel_h__
#ifndef __nFRC_2016_16_0_0_Accel_h__
#define __nFRC_2016_16_0_0_Accel_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAccel
@@ -99,4 +99,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Accel_h__
#endif // __nFRC_2016_16_0_0_Accel_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Accumulator_h__
#define __nFRC_2015_1_0_A_Accumulator_h__
#ifndef __nFRC_2016_16_0_0_Accumulator_h__
#define __nFRC_2016_16_0_0_Accumulator_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAccumulator
@@ -84,4 +84,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Accumulator_h__
#endif // __nFRC_2016_16_0_0_Accumulator_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Alarm_h__
#define __nFRC_2015_1_0_A_Alarm_h__
#ifndef __nFRC_2016_16_0_0_Alarm_h__
#define __nFRC_2016_16_0_0_Alarm_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAlarm
@@ -54,4 +54,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Alarm_h__
#endif // __nFRC_2016_16_0_0_Alarm_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_AnalogTrigger_h__
#define __nFRC_2015_1_0_A_AnalogTrigger_h__
#ifndef __nFRC_2016_16_0_0_AnalogTrigger_h__
#define __nFRC_2016_16_0_0_AnalogTrigger_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tAnalogTrigger
@@ -126,4 +126,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_AnalogTrigger_h__
#endif // __nFRC_2016_16_0_0_AnalogTrigger_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_BIST_h__
#define __nFRC_2015_1_0_A_BIST_h__
#ifndef __nFRC_2016_16_0_0_BIST_h__
#define __nFRC_2016_16_0_0_BIST_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tBIST
@@ -87,4 +87,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_BIST_h__
#endif // __nFRC_2016_16_0_0_BIST_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Counter_h__
#define __nFRC_2015_1_0_A_Counter_h__
#ifndef __nFRC_2016_16_0_0_Counter_h__
#define __nFRC_2016_16_0_0_Counter_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tCounter
@@ -216,4 +216,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Counter_h__
#endif // __nFRC_2016_16_0_0_Counter_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_DIO_h__
#define __nFRC_2015_1_0_A_DIO_h__
#ifndef __nFRC_2016_16_0_0_DIO_h__
#define __nFRC_2016_16_0_0_DIO_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tDIO
@@ -245,4 +245,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_DIO_h__
#endif // __nFRC_2016_16_0_0_DIO_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_DMA_h__
#define __nFRC_2015_1_0_A_DMA_h__
#ifndef __nFRC_2016_16_0_0_DMA_h__
#define __nFRC_2016_16_0_0_DMA_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tDMA
@@ -185,4 +185,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_DMA_h__
#endif // __nFRC_2016_16_0_0_DMA_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Encoder_h__
#define __nFRC_2015_1_0_A_Encoder_h__
#ifndef __nFRC_2016_16_0_0_Encoder_h__
#define __nFRC_2016_16_0_0_Encoder_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tEncoder
@@ -196,4 +196,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Encoder_h__
#endif // __nFRC_2016_16_0_0_Encoder_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Global_h__
#define __nFRC_2015_1_0_A_Global_h__
#ifndef __nFRC_2016_16_0_0_Global_h__
#define __nFRC_2016_16_0_0_Global_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tGlobal
@@ -101,4 +101,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Global_h__
#endif // __nFRC_2016_16_0_0_Global_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Interrupt_h__
#define __nFRC_2015_1_0_A_Interrupt_h__
#ifndef __nFRC_2016_16_0_0_Interrupt_h__
#define __nFRC_2016_16_0_0_Interrupt_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tInterrupt
@@ -97,4 +97,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Interrupt_h__
#endif // __nFRC_2016_16_0_0_Interrupt_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_PWM_h__
#define __nFRC_2015_1_0_A_PWM_h__
#ifndef __nFRC_2016_16_0_0_PWM_h__
#define __nFRC_2016_16_0_0_PWM_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tPWM
@@ -117,4 +117,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_PWM_h__
#endif // __nFRC_2016_16_0_0_PWM_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Power_h__
#define __nFRC_2015_1_0_A_Power_h__
#ifndef __nFRC_2016_16_0_0_Power_h__
#define __nFRC_2016_16_0_0_Power_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tPower
@@ -214,4 +214,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Power_h__
#endif // __nFRC_2016_16_0_0_Power_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_Relay_h__
#define __nFRC_2015_1_0_A_Relay_h__
#ifndef __nFRC_2016_16_0_0_Relay_h__
#define __nFRC_2016_16_0_0_Relay_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tRelay
@@ -65,4 +65,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_Relay_h__
#endif // __nFRC_2016_16_0_0_Relay_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_SPI_h__
#define __nFRC_2015_1_0_A_SPI_h__
#ifndef __nFRC_2016_16_0_0_SPI_h__
#define __nFRC_2016_16_0_0_SPI_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tSPI
@@ -65,4 +65,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_SPI_h__
#endif // __nFRC_2016_16_0_0_SPI_h__

View File

@@ -1,14 +1,14 @@
// Copyright (c) National Instruments 2008. All Rights Reserved.
// Do Not Edit... this file is generated!
#ifndef __nFRC_2015_1_0_A_SysWatchdog_h__
#define __nFRC_2015_1_0_A_SysWatchdog_h__
#ifndef __nFRC_2016_16_0_0_SysWatchdog_h__
#define __nFRC_2016_16_0_0_SysWatchdog_h__
#include "tSystemInterface.h"
namespace nFPGA
{
namespace nFRC_2015_1_0_A
namespace nFRC_2016_16_0_0
{
class tSysWatchdog
@@ -105,4 +105,4 @@ private:
}
}
#endif // __nFRC_2015_1_0_A_SysWatchdog_h__
#endif // __nFRC_2016_16_0_0_SysWatchdog_h__

View File

@@ -8,7 +8,11 @@
#ifndef __CANSessionMux_h__
#define __CANSessionMux_h__
#if defined(__vxworks)
#include <vxWorks.h>
#else
#include <stdint.h>
#endif
#define CAN_SEND_PERIOD_NO_REPEAT 0
#define CAN_SEND_PERIOD_STOP_REPEATING -1
@@ -31,6 +35,7 @@ struct tCANStreamMessage{
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);
@@ -40,6 +45,7 @@ namespace nCANSessionMux
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"

View File

@@ -0,0 +1,163 @@
/*************************************************************
* 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 <vxWorks_compat.h>
#ifdef USE_THRIFT
# define EXPORT_FUNC
# else
# define EXPORT_FUNC __declspec(dllexport) __cdecl
# endif
#elif defined(__vxworks)
# include <vxWorks.h>
# define EXPORT_FUNC
#elif defined(__linux)
# include <stdint.h>
# include <pthread.h>
# 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_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

View File

@@ -2,9 +2,12 @@
#ifndef __LoadOut_h__
#define __LoadOut_h__
#ifdef SIMULATION
#ifdef WIN32
#include <vxWorks_compat.h>
#define EXPORT_FUNC __declspec(dllexport) __cdecl
#elif defined (__vxworks)
#include <vxWorks.h>
#define EXPORT_FUNC
#else
#include <stdint.h>
#define EXPORT_FUNC
@@ -13,7 +16,7 @@
#define kMaxModuleNumber 2
namespace nLoadOut
{
#if defined(SIMULATION)
#if defined(__vxworks) || defined(SIMULATION)
typedef enum {
kModuleType_Unknown = 0x00,
kModuleType_Analog = 0x01,
@@ -28,7 +31,7 @@ namespace nLoadOut
kTargetClass_FRC2 = 0x20,
kTargetClass_FRC3 = 0x30,
kTargetClass_RoboRIO = 0x40,
#if defined(SIMULATION)
#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,
@@ -43,7 +46,7 @@ namespace nLoadOut
extern "C" {
#endif
#if defined(SIMULATION)
#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();

View File

@@ -2,9 +2,12 @@
#ifndef __UsageReporting_h__
#define __UsageReporting_h__
#ifdef SIMULATION
#ifdef WIN32
#include <vxWorks_compat.h>
#define EXPORT_FUNC __declspec(dllexport) __cdecl
#elif defined (__vxworks)
#include <vxWorks.h>
#define EXPORT_FUNC
#else
#include <stdint.h>
#include <stdlib.h>

View File

@@ -5,10 +5,10 @@
#include "ctre/ctre.h"
#include "visa/visa.h"
#include "ChipObject.h"
#include "NetworkCommunication/FRCComm.h"
#include "NetworkCommunication/UsageReporting.h"
#include "NetworkCommunication/LoadOut.h"
#include "NetworkCommunication/CANSessionMux.h"
#include "FRC_NetworkCommunication/FRCComm.h"
#include "FRC_NetworkCommunication/UsageReporting.h"
#include "FRC_NetworkCommunication/LoadOut.h"
#include "FRC_NetworkCommunication/CANSessionMux.h"
#include <fstream>
#include <iostream>
#include <unistd.h>

View File

@@ -4,7 +4,7 @@
#include "HAL/Port.h"
#include "HAL/Errors.hpp"
#include "ChipObject.h"
#include "NetworkCommunication/LoadOut.h"
#include "FRC_NetworkCommunication/LoadOut.h"
#include "ctre/PCM.h"
static const int NUM_MODULE_NUMBERS = 63;

View File

@@ -70,7 +70,7 @@
* @link https://docs.google.com/spreadsheets/d/1OU_ZV7fZLGYUQ-Uhc8sVAmUmWTlT8XBFYK8lfjg_tac/edit#gid=1766046967
*/
#include "HAL/CanTalonSRX.h"
#include "NetworkCommunication/CANSessionMux.h" //CAN Comm
#include "FRC_NetworkCommunication/CANSessionMux.h" //CAN Comm
#include <string.h> // memset
#include <unistd.h> // usleep

View File

@@ -1,7 +1,7 @@
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#include "ctre/CtreCanNode.h"
#include "NetworkCommunication/CANSessionMux.h"
#include "FRC_NetworkCommunication/CANSessionMux.h"
#include <string.h> // memset
#include <unistd.h> // usleep

View File

@@ -1,7 +1,7 @@
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#include "ctre/PCM.h"
#include "NetworkCommunication/CANSessionMux.h"
#include "FRC_NetworkCommunication/CANSessionMux.h"
#include <string.h> // memset
#include <unistd.h> // usleep
/* This can be a constant, as long as nobody needs to updatie solenoids within

View File

@@ -1,5 +1,5 @@
#include "ctre/PDP.h"
#include "NetworkCommunication/CANSessionMux.h" //CAN Comm
#include "FRC_NetworkCommunication/CANSessionMux.h" //CAN Comm
#include <string.h> // memset
#include <unistd.h> // usleep

View File

@@ -0,0 +1,146 @@
#ifndef __CAN_DEVICE_INTERFACE_H__
#define __CAN_DEVICE_INTERFACE_H__
#define MAX_STRING_LEN 64
namespace CANDeviceInterface1
{
struct PIDSlot
{
// Proportional gain
float pGain;
// Integral gain
float iGain;
// Differential gain
float dGain;
// Feed-forward gain
float fGain;
// Integral zone
float iZone;
// Closed-loop ramp rate
float clRampRate;
};
struct DeviceDescriptor
{
// The full device ID, including the device number, manufacturer, and device type.
// The mask of a message the device supports is 0x1FFF003F.
unsigned int deviceID;
// This is the ID that uniquely identifies the device node in the UI.
// The purpose of this is to be able to track the device across renames or deviceID changes.
unsigned int uniqueID;
// An dynamically assigned ID that will make setting deviceIDs robust,
// Never again will you need to isolate a CAN node just to fix it's ID.
unsigned int dynamicID;
// User visible name. This can be customized by the user, but should have a
// reasonable default.
char name[MAX_STRING_LEN];
// This is a user visible model name that should match the can_devices.ini section.
char model[MAX_STRING_LEN];
// This is a version number that represents the version of firmware currently
// installed on the device.
char currentVersion[MAX_STRING_LEN];
// Hardware revision.
char hardwareRev[MAX_STRING_LEN];
// Bootloader version. Will not change for the life of the product, but additional
// field upgrade features could be added in newer hardware.
char bootloaderRev[MAX_STRING_LEN];
// Manufacture Date. Could be a calender date or just the FRC season year.
// Also helps troubleshooting "old ones" vs "new ones".
char manufactureDate[MAX_STRING_LEN];
// General status of the hardware. For example if the device is in bootloader
// due to a bad flash UI could emphasize that.
char softwareStatus[MAX_STRING_LEN];
// Is the LED currently on?
bool led;
// Reserved fields for use by CTRE. Not touched by frccansae
unsigned int dynFlags;
unsigned int flags; /* bitfield */
unsigned int ptrToString;
// Motor controller properties (ignored if SupportsMotorControllerProperties is false or unset for this model)
unsigned int brakeMode; // 0=Coast, 1=Brake
unsigned int limitSwitchFwdMode; // 0=disabled, 1=Normally Closed, 2=Normally Open
unsigned int limitSwitchRevMode; // 0=disabled, 1=Normally Closed, 2=Normally Open
// Limit-switch soft limits
bool bFwdSoftLimitEnable;
bool bRevSoftLimitEnable;
float softLimitFwd;
float softLimitRev;
// PID constants for slot 0
struct PIDSlot slot0;
// PID constants for slot 1
struct PIDSlot slot1;
};
#define kLimitSwitchMode_Disabled (0)
#define kLimitSwitchMode_NormallyClosed (1)
#define kLimitSwitchMode_NormallyOpen (2)
// Interface functions that must be implemented by the CAN Firmware Update Library
// Returns the number of devices that will be returned in a call to
// getListOfDevices(). The calling library will use this info to allocate enough
// memory to accept all device info.
int getNumberOfDevices();
// Return info about discovered devices. The array of structs should be
// populated before returning. The numDescriptors input describes how many
// elements were allocated to prevent memory corruption. The number of devices
// populated should be returned from this function as well.
int getListOfDevices(struct DeviceDescriptor *devices, int numDescriptors);
// When the user requests to update the firmware of a device a thread will be
// spawned and this function is called from that thread. This function should
// complete the firmware update process before returning. The image
// contents and size are directly from the file selected by the user. The
// error message string can be filled with a NULL-terminated message to show the
// user if there was a problem updating firmware. The error message is only
// displayed if a non-zero value is returned from this function.
int updateFirmware(const struct DeviceDescriptor *device, const unsigned char *imageContents, unsigned int imageSize, char *errorMessage, int errorMessageMaxSize);
// This function is called periodically from the UI thread while the firmware
// update is in progress. The percentComplete parameter should the filled in
// with the current progress of the firmware update process to update a progress
// bar in the UI.
void checkUpdateProgress(const struct DeviceDescriptor *device, int *percentComplete);
// This is called when the user selects a new ID to assign on the bus and
// chooses to save. The newDeviceID is really just the device number. The
// manufacturer and device type will remain unchanged. If a problem is detected
// when assigning a new ID, this function should return a non-zero value.
int assignBroadcastDeviceID(unsigned int newDeviceID);
// The device descriptor should be updated with the new device ID. The name may
// also change in the descriptor and will be updated in the UI immediately.
// Be sure to modify the descriptor first since the refresh from the UI is
// asynchronous.
int assignDeviceID(struct DeviceDescriptor *device, unsigned int newDeviceID);
// This entry-point will get called when the user chooses to change the value
// of the device's LED. This will allow the user to identify devices which
// support dynamic addresses or are otherwise unknown. If this function returns
// a non-zero value, the UI will report an error.
int saveLightLed(const struct DeviceDescriptor *device, bool newLEDStatus);
// This entry-point will get called when the user chooses to change the alias
// of the device with the device specified. If this function returns a non-
// zero value, the UI will report an error. The device descriptor must be
// updated with the new name that was selected. If a different name is saved
// to the descriptor than the user specified, this will require a manual
// refresh by the user. This is reported as CAR #505139
int saveDeviceName(struct DeviceDescriptor *device, const char *newName);
// This entry-point will get called when the user changes any of the motor
// controller specific properties. If this function returns a non-zero value,
// the UI will report an error. The device descriptor may be updated with
// coerced values.
int saveMotorParameters(struct DeviceDescriptor *device);
// Run some sort of self-test functionality on the device. This can be anything
// and the results will be displayed to the user. A non-zero return value
// indicates an error.
int selfTest(const struct DeviceDescriptor *device, char *detailedResults, int detailedResultsMaxSize);
} /* CANDeviceInterface */
#endif /* __CAN_DEVICE_INTERFACE_H__ */

View File

@@ -1,66 +0,0 @@
/*!
\file environs.h
\brief Defines export symbols and namespace aliases
*/
/*
Copyright (c) 2014,
National Instruments Corporation.
All rights reserved.
File: $Id: //lvaddon/FIRST/FRC/trunk/2015/tools/frcrti/export/1.0/1.0.0a6/includes/wpilib/i2clib/i2clib/environs.h#1 $
Author: nipg.pl
Originated: Mon Feb 10 10:39:42 2014
*/
#ifndef ___i2clib_environs_h___
#define ___i2clib_environs_h___
#include <nibuild/platform.h>
/*
* kI2CLIBExportSymbols directs the build to export symbols modified by
* the kI2CLIBExport keyword. kI2CLIBNoExportSymbols directs the build to not
* import or export symbols modified by the kI2CLIBExport keyword. If
* neither of these are defined, the symbols modified by kI2CLIBExport are
* imported. These should be defined only when building the component,
* so clients do not need to trouble themselves with it.
*/
#if defined(kI2CLIBExportSymbols)
#define kI2CLIBExport kNIExport
#define kI2CLIBExportPre kNIExportPre
#define kI2CLIBExportPost kNIExportPost
#define kI2CLIBExportInline kNIExportInline
#define kI2CLIBExportData kNIExportData
#elif defined(kI2CLIBNoExportSymbols)
#define kI2CLIBExport
#define kI2CLIBExportPre
#define kI2CLIBExportPost
#define kI2CLIBExportInline
#define kI2CLIBExportData
#else
#define kI2CLIBExport kNIImport
#define kI2CLIBExportPre kNIImportPre
#define kI2CLIBExportPost kNIImportPost
#define kI2CLIBExportInline kNIImportInline
#define kI2CLIBExportData kNIImportData
#endif
// namespace declarations for aliasing ...
#ifdef __cplusplus
/*!
\namespace nI2CLIB_1_0
\brief i2c user-mode library Release 1.0
*/
namespace nI2CLIB_1_0
{
// current versioned namespace aliases used by this package
}
#endif // __cplusplus
#endif // ___i2clib_environs_h___

View File

@@ -1,6 +1,6 @@
//This file must compile on ALL PLATFORMS. Be very careful what you put in here.
#include "HAL/HAL.hpp"
#include "NetworkCommunication/FRCComm.h"
#include "FRC_NetworkCommunication/FRCComm.h"
int HALGetControlWord(HALControlWord *data)
{

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunication.so.1 )
GROUP ( libFRC_NetworkCommunication.so.16 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunication.so.1.5 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunication.so.1.5.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunication.so.16.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunication.so.16.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunicationLV.so.1 )
GROUP ( libFRC_NetworkCommunicationLV.so.16 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunicationLV.so.1.5 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunicationLV.so.1.5.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunicationLV.so.16.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libFRC_NetworkCommunicationLV.so.16.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpga.so.14 )
GROUP ( libNiFpga.so.15 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpga.so.14.0 )
GROUP ( libNiFpga.so.15.0 )

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpga.so.14.0.0 )
GROUP ( libNiFpga.so.15.0.0 )

BIN
ni-libraries/libNiFpga.so.15.0.0 Executable file

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpgaLv.so.14 )
GROUP ( libNiFpgaLv.so.15 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpgaLv.so.14.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiRioSrv.so.14.0 )
GROUP ( libNiFpgaLv.so.15.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpgaLv.so.15.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiRioSrv.so.14 )
GROUP ( libNiRioSrv.so.15 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiRioSrv.so.14.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiFpgaLv.so.14.0 )
GROUP ( libNiRioSrv.so.15.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libNiRioSrv.so.15.0.0 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libRoboRIO_FRC_ChipObject.so.1 )
GROUP ( libRoboRIO_FRC_ChipObject.so.16 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libRoboRIO_FRC_ChipObject.so.1.2 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libRoboRIO_FRC_ChipObject.so.1.2.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libRoboRIO_FRC_ChipObject.so.16.0 )

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libRoboRIO_FRC_ChipObject.so.16.0.0 )

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_emb.so.7 )
GROUP ( libni_emb.so.8 )

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_emb.so.7.0 )
GROUP ( libni_emb.so.8.0 )

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_emb.so.7.0.0 )
GROUP ( libni_emb.so.8.0.0 )

BIN
ni-libraries/libni_emb.so.8.0.0 Executable file

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_rtlog.so.2.3 )
GROUP ( libni_rtlog.so.2.4 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_rtlog.so.2.3.0 )

Binary file not shown.

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libni_rtlog.so.2.4.0 )

BIN
ni-libraries/libni_rtlog.so.2.4.0 Executable file

Binary file not shown.

View File

@@ -1,2 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libniimaqdx.so.14 )
GROUP ( libniimaqdx.so.15 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libniimaqdx.so.14.0 )

View File

@@ -1,2 +0,0 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libniimaqdx.so.14.0.0 )

Binary file not shown.

View File

@@ -0,0 +1,2 @@
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( libniimaqdx.so.15.0 )

Some files were not shown because too many files have changed in this diff Show More