diff --git a/express/routes/setupRoutes.js b/express/routes/setupRoutes.js
index 9a31795..09c2566 100644
--- a/express/routes/setupRoutes.js
+++ b/express/routes/setupRoutes.js
@@ -4,6 +4,7 @@ import express from 'express';
import { fileURLToPath } from 'url';
import { generateUniqueID } from '../../modules/baseUtils.mjs';
import { restartApplication } from '../../modules/selfUpdater.mjs'
+import { launchProcess } from '../../modules/subprocessHandler.mjs'
const router = express.Router();
const __dirname = path.dirname(fileURLToPath(import.meta.url)); // Define __dirname for ESM
@@ -12,8 +13,10 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); // Define __dirn
let systemsData = [];
let nodeData = {};
-router.get('/', (req, res) => {
- res.render('setup/setup');
+router.get('/', async (req, res) => {
+ const output = await launchProcess('python', ['./discordAudioBot/pdab/getDevices.py'], true, true)
+ console.log("Device List", output);
+ res.render('setup/setup', { deviceList: output });
});
// Route to serve the page for adding nearby systems
@@ -23,13 +26,14 @@ router.get('/add-system', (req, res) => {
router.post('/', (req, res) => {
// Handle form submission here
- const { clientName, clientLocation, clientCapabilities } = req.body;
+ const { clientName, clientLocation, clientCapabilities, audioDeviceId } = req.body;
- console.log(clientName, clientLocation, clientCapabilities);
+ console.log(clientName, clientLocation, clientCapabilities, audioDeviceId);
nodeData.clientName = clientName;
nodeData.clientLocation = clientLocation;
nodeData.clientCapabilities = clientCapabilities;
+ nodeData.audioDeviceId = audioDeviceId;
res.redirect('/setup/add-system');
});
@@ -86,8 +90,11 @@ const exportCsv = (nodeData) => {
CLIENT_CAPABILITIES: nodeData.clientCapabilities,
SERVER_IP: "",
SERVER_PORT: 0,
- OP25_FULL_PATH: `${__dirname}/op25/op25/gr-op25_repeater/apps`,
+ OP25_FULL_PATH: path.resolve(__dirname, '../../op25/op25/gr-op25_repeater/apps'),
CONFIG_PATH: "./config/radioPresets.json",
+ AUDIO_DEVICE_ID: nodeData.audioDeviceId,
+ PDAB_PORT: 3110,
+ NODE_ENV: "production",
};
// Generate .env file content
diff --git a/express/views/setup/setup.ejs b/express/views/setup/setup.ejs
index aa52ed7..8719ef2 100644
--- a/express/views/setup/setup.ejs
+++ b/express/views/setup/setup.ejs
@@ -19,7 +19,14 @@
+
+
+
+
<%- deviceList.replace(/\n/g, '
') %>