mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-03 03:01:44 +00:00
[hal,wpilib] Switch CANBusMap to Enum, use it for CAN API (#8977)
Will make it easier to solve https://github.com/wpilibsuite/SystemcoreTesting/issues/286
This commit is contained in:
@@ -36,7 +36,7 @@ public class CAN implements Closeable {
|
||||
* @param busId The bus ID
|
||||
* @param deviceId The device id
|
||||
*/
|
||||
public CAN(int busId, int deviceId) {
|
||||
public CAN(CANBusMap busId, int deviceId) {
|
||||
this(busId, deviceId, TEAM_MANUFACTURER, TEAM_DEVICE_TYPE);
|
||||
}
|
||||
|
||||
@@ -49,8 +49,8 @@ public class CAN implements Closeable {
|
||||
* @param deviceManufacturer The device manufacturer
|
||||
* @param deviceType The device type
|
||||
*/
|
||||
public CAN(int busId, int deviceId, int deviceManufacturer, int deviceType) {
|
||||
m_handle = CANAPIJNI.initializeCAN(busId, deviceManufacturer, deviceId, deviceType);
|
||||
public CAN(CANBusMap busId, int deviceId, int deviceManufacturer, int deviceType) {
|
||||
m_handle = CANAPIJNI.initializeCAN(busId.value, deviceManufacturer, deviceId, deviceType);
|
||||
HAL.reportUsage("CAN[" + deviceType + "][" + deviceManufacturer + "][" + deviceId + "]", "");
|
||||
}
|
||||
|
||||
|
||||
70
wpilibj/src/main/java/org/wpilib/hardware/bus/CANBusMap.java
Normal file
70
wpilibj/src/main/java/org/wpilib/hardware/bus/CANBusMap.java
Normal file
@@ -0,0 +1,70 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
package org.wpilib.hardware.bus;
|
||||
|
||||
/**
|
||||
* CAN bus mapping.
|
||||
*
|
||||
* <p>S0-S4 are Systemcore CAN buses. D0-D19 are Motioncore CAN buses.
|
||||
*/
|
||||
public enum CANBusMap {
|
||||
/** CAN bus S0. */
|
||||
CAN_S0(0),
|
||||
/** CAN bus S1. */
|
||||
CAN_S1(1),
|
||||
/** CAN bus S2. */
|
||||
CAN_S2(2),
|
||||
/** CAN bus S3. */
|
||||
CAN_S3(3),
|
||||
/** CAN bus S4. */
|
||||
CAN_S4(4),
|
||||
/** CAN bus D0. */
|
||||
CAN_D0(5),
|
||||
/** CAN bus D1. */
|
||||
CAN_D1(6),
|
||||
/** CAN bus D2. */
|
||||
CAN_D2(7),
|
||||
/** CAN bus D3. */
|
||||
CAN_D3(8),
|
||||
/** CAN bus D4. */
|
||||
CAN_D4(9),
|
||||
/** CAN bus D5. */
|
||||
CAN_D5(10),
|
||||
/** CAN bus D6. */
|
||||
CAN_D6(11),
|
||||
/** CAN bus D7. */
|
||||
CAN_D7(12),
|
||||
/** CAN bus D8. */
|
||||
CAN_D8(13),
|
||||
/** CAN bus D9. */
|
||||
CAN_D9(14),
|
||||
/** CAN bus D10. */
|
||||
CAN_D10(15),
|
||||
/** CAN bus D11. */
|
||||
CAN_D11(16),
|
||||
/** CAN bus D12. */
|
||||
CAN_D12(17),
|
||||
/** CAN bus D13. */
|
||||
CAN_D13(18),
|
||||
/** CAN bus D14. */
|
||||
CAN_D14(19),
|
||||
/** CAN bus D15. */
|
||||
CAN_D15(20),
|
||||
/** CAN bus D16. */
|
||||
CAN_D16(21),
|
||||
/** CAN bus D17. */
|
||||
CAN_D17(22),
|
||||
/** CAN bus D18. */
|
||||
CAN_D18(23),
|
||||
/** CAN bus D19. */
|
||||
CAN_D19(24);
|
||||
|
||||
/** CAN bus ID. */
|
||||
public final int value;
|
||||
|
||||
CANBusMap(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user