[hal] Add high level way of getting systemserver NT instance (#7683)

This commit is contained in:
Thad House
2025-01-16 09:49:40 -08:00
committed by GitHub
parent 58cb395d76
commit 1cad4f64a4
16 changed files with 169 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
// 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.
#include <jni.h>
#include "edu_wpi_first_hal_SystemServerJNI.h"
#include "hal/SystemServer.h"
extern "C" {
/*
* Class: edu_wpi_first_hal_SystemServerJNI
* Method: getSystemServerHandle
* Signature: ()I
*/
JNIEXPORT jint JNICALL
Java_edu_wpi_first_hal_SystemServerJNI_getSystemServerHandle
(JNIEnv*, jclass)
{
return HAL_GetSystemServerHandle();
}
} // extern "C"

View File

@@ -0,0 +1,17 @@
// 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.
#pragma once
#include <ntcore_c.h>
#ifdef __cplusplus
extern "C" {
#endif
NT_Inst HAL_GetSystemServerHandle(void);
#ifdef __cplusplus
} // extern "C"
#endif

View File

@@ -0,0 +1,12 @@
// 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.
#include "hal/SystemServer.h"
extern "C" {
NT_Inst HAL_GetSystemServerHandle(void) {
return 0;
}
} // extern "C"

View File

@@ -27,7 +27,7 @@
#include <wpi/timestamp.h>
#include "HALInitializer.h"
#include "SystemServer.h"
#include "SystemServerInternal.h"
#include "hal/DriverStation.h"
#include "hal/Errors.h"
#include "hal/proto/ControlData.h"

View File

@@ -27,7 +27,7 @@
#include "CANInternal.h"
#include "HALInitializer.h"
#include "HALInternal.h"
#include "SystemServer.h"
#include "SystemServerInternal.h"
#include "hal/DriverStation.h"
#include "hal/Errors.h"
#include "hal/Notifier.h"

View File

@@ -7,7 +7,7 @@
#include <atomic>
#include "HALInitializer.h"
#include "SystemServer.h"
#include "SystemServerInternal.h"
namespace hal {

View File

@@ -2,8 +2,9 @@
// 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.
#include "SystemServer.h"
#include "hal/SystemServer.h"
#include "SystemServerInternal.h"
#include "mrc/NtNetComm.h"
namespace hal {
@@ -33,3 +34,10 @@ nt::NetworkTableInstance GetSystemServer() {
}
} // namespace hal
extern "C" {
NT_Inst HAL_GetSystemServerHandle(void) {
return hal::ServerInstance.GetHandle();
}
} // extern "C"