From ed23b2889dc2a28f8782bf23677b1ad312464b5c Mon Sep 17 00:00:00 2001 From: Ryan Blue Date: Sat, 27 Jul 2024 19:28:08 -0400 Subject: [PATCH] [hal] Remove CANDeviceInterface (#6880) --- .../athena/frccansae/CANDeviceInterface.h | 156 ------------------ 1 file changed, 156 deletions(-) delete mode 100644 hal/src/main/native/athena/frccansae/CANDeviceInterface.h diff --git a/hal/src/main/native/athena/frccansae/CANDeviceInterface.h b/hal/src/main/native/athena/frccansae/CANDeviceInterface.h deleted file mode 100644 index d9c9a0cc64d..00000000000 --- a/hal/src/main/native/athena/frccansae/CANDeviceInterface.h +++ /dev/null @@ -1,156 +0,0 @@ -#ifndef __CAN_DEVICE_INTERFACE_H__ -#define __CAN_DEVICE_INTERFACE_H__ - -#define MAX_STRING_LEN 64 - -#define SUPPORT_UNIQUE_ID (1) /* depends entirely on old vs new build */ -#define USE_NTH_ORDER (0) /* zero to user deviceId */ -#define SUPPORT_MOTOR_CONTROLLER_PROFILE (1) -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; -#if SUPPORT_UNIQUE_ID != 0 - // 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; -#endif - // 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 calendar 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 future use by CTRE. Not touched by frccansae - unsigned int dynFlags; - unsigned int flags; /* bitfield */ - unsigned int ptrToString; - //unsigned int reserved0; - //unsigned int reserved1; - //unsigned int reserved2; -#if SUPPORT_MOTOR_CONTROLLER_PROFILE != 0 - // 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; -#endif -}; - -#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(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 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 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(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 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(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(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 DeviceDescriptor *device, char *detailedResults, int detailedResultsMaxSize); - -} /* CANDeviceInterface */ - -#endif /* __CAN_DEVICE_INTERFACE_H__ */