001/* 002 * Copyright (C) Cross The Road Electronics. All rights reserved. 003 * License information can be found in CTRE_LICENSE.txt 004 * For support and suggestions contact support@ctr-electronics.com or file 005 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases 006 */ 007package com.ctre.phoenix6.jni; 008 009public class StatusSignalJNI extends CtreJniWrapper implements Cloneable { 010 public String network = ""; // don't let this be null 011 public int deviceHash; 012 public int spn; 013 public double value; 014 public double hwtimeStampSeconds; 015 public double swtimeStampSeconds; 016 public double ecutimeStampSeconds; 017 public int statusCode; 018 019 public native String JNI_GetUnits(); 020 021 public native int JNI_RefreshSignal(double timeoutSeconds); 022 023 public native int JNI_WaitForSignal(double timeoutSeconds); 024 025 public static native int JNI_WaitForAll(String network, double timeoutSeconds, 026 StatusSignalJNI[] signals); 027 028 public native int JNI_SetUpdateFrequency(double frequencyHz, double timeoutSeconds); 029 public static native int JNI_SetUpdateFrequencyForAll(double frequencyHz, StatusSignalJNI[] signals, double timeoutSeconds); 030 public native double JNI_GetAppliedUpdateFrequency(); 031 public static native int JNI_OptimizeUpdateFrequencies(String network, int deviceHash, double optimizedFreqHz, double timeoutSeconds); 032 033 @Override 034 public StatusSignalJNI clone() { 035 var retval = new StatusSignalJNI(); 036 retval.network = network; 037 retval.deviceHash = deviceHash; 038 retval.spn = spn; 039 return retval; 040 } 041}