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.controls; 008 009import java.util.HashMap; 010import java.util.Map; 011 012import com.ctre.phoenix6.StatusCode; 013import com.ctre.phoenix6.controls.jni.ControlJNI; 014 015import edu.wpi.first.units.measure.*; 016 017/** 018 * Generic Empty Control class used to do nothing. 019 */ 020public class EmptyControl extends ControlRequest implements Cloneable { 021 /** 022 * Constructs an empty control request. 023 */ 024 public EmptyControl() { 025 super("EmptyControl"); 026 } 027 028 @Override 029 public String toString() { 030 String ss = "class: EmptyControl\n"; 031 return ss; 032 } 033 034 public StatusCode sendRequest(String network, int deviceHash) { 035 return StatusCode.valueOf(ControlJNI.JNI_RequestControlEmpty( 036 network, deviceHash, 0)); 037 } 038 039 /** 040 * Gets information about this control request. 041 * 042 * @return Map of control parameter names and corresponding applied values 043 */ 044 @Override 045 public Map<String, String> getControlInfo() { 046 var controlInfo = new HashMap<String,String>(); 047 controlInfo.put("Name", getName()); 048 return controlInfo; 049 } 050 051 @Override 052 public EmptyControl clone() { 053 return new EmptyControl(); 054 } 055 056 @Override 057 public EmptyControl withUpdateFreqHz(double newUpdateFreqHz) { 058 return this; 059 } 060 061 @Override 062 public EmptyControl withUpdateFreqHz(Frequency newUpdateFreqHz) { 063 return this; 064 } 065};