Moves HAL PCM objects to header and HAL namespace (#129)

This commit is contained in:
Thad House
2016-07-02 11:58:49 -07:00
committed by Peter Johnson
parent 8c4ad62422
commit cf29d4560b
4 changed files with 43 additions and 16 deletions

View File

@@ -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" {

View 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);
}
}
}

View 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);
}

View File

@@ -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" {