mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Moves HAL PCM objects to header and HAL namespace (#129)
This commit is contained in:
committed by
Peter Johnson
parent
8c4ad62422
commit
cf29d4560b
@@ -8,13 +8,10 @@
|
||||
#include "HAL/Compressor.h"
|
||||
|
||||
#include "HAL/Errors.h"
|
||||
#include "PCMInternal.h"
|
||||
#include "ctre/PCM.h"
|
||||
#include "handles/HandlesInternal.h"
|
||||
|
||||
static const int NUM_MODULE_NUMBERS = 63;
|
||||
extern PCM* PCM_modules[NUM_MODULE_NUMBERS];
|
||||
extern void initializePCM(int module);
|
||||
|
||||
using namespace hal;
|
||||
|
||||
extern "C" {
|
||||
|
||||
18
hal/lib/athena/PCMInternal.cpp
Normal file
18
hal/lib/athena/PCMInternal.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2016. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#include "PCMInternal.h"
|
||||
|
||||
namespace hal {
|
||||
PCM* PCM_modules[NUM_MODULE_NUMBERS] = {nullptr};
|
||||
|
||||
void initializePCM(int module) {
|
||||
if (!PCM_modules[module]) {
|
||||
PCM_modules[module] = new PCM(module);
|
||||
}
|
||||
}
|
||||
}
|
||||
21
hal/lib/athena/PCMInternal.h
Normal file
21
hal/lib/athena/PCMInternal.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2016. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "ctre/PCM.h"
|
||||
|
||||
namespace hal {
|
||||
constexpr int NUM_MODULE_NUMBERS = 63;
|
||||
constexpr int NUM_SOLENOID_PINS = 8;
|
||||
|
||||
extern PCM* PCM_modules[NUM_MODULE_NUMBERS];
|
||||
|
||||
void initializePCM(int module);
|
||||
}
|
||||
@@ -10,15 +10,11 @@
|
||||
#include "ChipObject.h"
|
||||
#include "FRC_NetworkCommunication/LoadOut.h"
|
||||
#include "HAL/Errors.h"
|
||||
#include "PCMInternal.h"
|
||||
#include "ctre/PCM.h"
|
||||
#include "handles/HandlesInternal.h"
|
||||
#include "handles/IndexedHandleResource.h"
|
||||
|
||||
static constexpr int NUM_MODULE_NUMBERS = 63;
|
||||
static constexpr int NUM_SOLENOID_PINS = 8;
|
||||
|
||||
PCM* PCM_modules[NUM_MODULE_NUMBERS] = {nullptr};
|
||||
|
||||
namespace {
|
||||
struct Solenoid {
|
||||
uint8_t module;
|
||||
@@ -26,16 +22,11 @@ struct Solenoid {
|
||||
};
|
||||
}
|
||||
|
||||
void initializePCM(int module) {
|
||||
if (!PCM_modules[module]) {
|
||||
PCM_modules[module] = new PCM(module);
|
||||
}
|
||||
}
|
||||
|
||||
using namespace hal;
|
||||
|
||||
static IndexedHandleResource<HalSolenoidHandle, Solenoid,
|
||||
NUM_MODULE_NUMBERS * 8, HalHandleEnum::Solenoid>
|
||||
NUM_MODULE_NUMBERS * NUM_SOLENOID_PINS,
|
||||
HalHandleEnum::Solenoid>
|
||||
solenoidHandles;
|
||||
|
||||
extern "C" {
|
||||
|
||||
Reference in New Issue
Block a user